Klasse EvaluationContextWrapper

java.lang.Object
org.aspectj.org.eclipse.jdt.internal.core.eval.EvaluationContextWrapper
Alle implementierten Schnittstellen:
IEvaluationContext

public class EvaluationContextWrapper extends Object implements IEvaluationContext
A wrapper around the infrastructure evaluation context.
  • Felddetails

  • Konstruktordetails

    • EvaluationContextWrapper

      public EvaluationContextWrapper(EvaluationContext context, JavaProject project)
      Creates a new wrapper around the given infrastructure evaluation context and project.
  • Methodendetails

    • allVariables

      public IGlobalVariable[] allVariables()
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Returns the global variables declared in this evaluation context. The variables are maintained in the order they are created in.
      Angegeben von:
      allVariables in Schnittstelle IEvaluationContext
      Gibt zurück:
      the list of global variables
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.core.eval.IEvaluationContext#allVariables()
    • checkBuilderState

      protected void checkBuilderState()
      Checks to ensure that there is a previously built state.
    • codeComplete

      public void codeComplete(String codeSnippet, int position, ICompletionRequestor requestor) throws JavaModelException
      Veraltet.
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Performs a code completion at the given position in the given code snippet, reporting results to the given completion requestor.

      Note that code completion does not involve evaluation.

      Angegeben von:
      codeComplete in Schnittstelle IEvaluationContext
      Parameter:
      codeSnippet - the code snippet to complete in
      position - the character position in the code snippet to complete at, or -1 indicating the beginning of the snippet
      requestor - the code completion requestor capable of accepting all possible types of completions
      Löst aus:
      JavaModelException - if code completion could not be performed. Reasons include:
      • The position specified is less than -1 or is greater than the snippet's length (INDEX_OUT_OF_BOUNDS)
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.core.eval.IEvaluationContext#codeComplete(String, int, ICompletionRequestor)
    • codeComplete

      public void codeComplete(String codeSnippet, int position, ICompletionRequestor requestor, WorkingCopyOwner owner) throws JavaModelException
      Veraltet.
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Performs a code completion at the given position in the given code snippet, reporting results to the given completion requestor. It considers types in the working copies with the given owner first. In other words, the owner's working copies will take precedence over their original compilation units in the workspace.

      Note that if a working copy is empty, it will be as if the original compilation unit had been deleted.

      Note that code completion does not involve evaluation.

      Angegeben von:
      codeComplete in Schnittstelle IEvaluationContext
      Parameter:
      codeSnippet - the code snippet to complete in
      position - the character position in the code snippet to complete at, or -1 indicating the beginning of the snippet
      requestor - the code completion requestor capable of accepting all possible types of completions
      owner - the owner of working copies that take precedence over their original compilation units
      Löst aus:
      JavaModelException - if code completion could not be performed. Reasons include:
      • The position specified is less than -1 or is greater than the snippet's length (INDEX_OUT_OF_BOUNDS)
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.core.eval.IEvaluationContext#codeComplete(String, int, ICompletionRequestor, WorkingCopyOwner)
    • codeComplete

      public void codeComplete(String codeSnippet, int position, CompletionRequestor requestor) throws JavaModelException
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Performs a code completion at the given position in the given code snippet, reporting results to the given completion requestor.

      Note that code completion does not involve evaluation.

      Angegeben von:
      codeComplete in Schnittstelle IEvaluationContext
      Parameter:
      codeSnippet - the code snippet to complete in
      position - the character position in the code snippet to complete at, or -1 indicating the beginning of the snippet
      requestor - the code completion requestor capable of accepting all possible types of completions
      Löst aus:
      JavaModelException - if code completion could not be performed. Reasons include:
      • The position specified is less than -1 or is greater than the snippet's length (INDEX_OUT_OF_BOUNDS)
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.core.eval.IEvaluationContext#codeComplete(String, int, CompletionRequestor)
    • codeComplete

      public void codeComplete(String codeSnippet, int position, CompletionRequestor requestor, org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Performs a code completion at the given position in the given code snippet, reporting results to the given completion requestor.

      Note that code completion does not involve evaluation.

      If IProgressMonitor is not null then some proposals which can be very long to compute are proposed. To avoid that the code assist operation take too much time a IProgressMonitor which automatically cancel the code assist operation when a specified amount of time is reached could be used.

       new IProgressMonitor() {
           private final static int TIMEOUT = 500; //ms
           private long endTime;
           public void beginTask(String name, int totalWork) {
               fEndTime= System.currentTimeMillis() + TIMEOUT;
           }
           public boolean isCanceled() {
               return endTime Ungültige Eingabe: "<"= System.currentTimeMillis();
           }
           ...
       };
       
      Angegeben von:
      codeComplete in Schnittstelle IEvaluationContext
      Parameter:
      codeSnippet - the code snippet to complete in
      position - the character position in the code snippet to complete at, or -1 indicating the beginning of the snippet
      requestor - the code completion requestor capable of accepting all possible types of completions
      monitor - the progress monitor used to report progress
      Löst aus:
      JavaModelException - if code completion could not be performed. Reasons include:
      • The position specified is less than -1 or is greater than the snippet's length (INDEX_OUT_OF_BOUNDS)
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.core.eval.IEvaluationContext#codeComplete(String, int, CompletionRequestor, IProgressMonitor)
    • codeComplete

      public void codeComplete(String codeSnippet, int position, CompletionRequestor requestor, WorkingCopyOwner owner) throws JavaModelException
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Performs a code completion at the given position in the given code snippet, reporting results to the given completion requestor. It considers types in the working copies with the given owner first. In other words, the owner's working copies will take precedence over their original compilation units in the workspace.

      Note that if a working copy is empty, it will be as if the original compilation unit had been deleted.

      Note that code completion does not involve evaluation.

      Angegeben von:
      codeComplete in Schnittstelle IEvaluationContext
      Parameter:
      codeSnippet - the code snippet to complete in
      position - the character position in the code snippet to complete at, or -1 indicating the beginning of the snippet
      requestor - the code completion requestor capable of accepting all possible types of completions
      owner - the owner of working copies that take precedence over their original compilation units
      Löst aus:
      JavaModelException - if code completion could not be performed. Reasons include:
      • The position specified is less than -1 or is greater than the snippet's length (INDEX_OUT_OF_BOUNDS)
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.core.eval.IEvaluationContext#codeComplete(String, int, CompletionRequestor, WorkingCopyOwner)
    • codeComplete

      public void codeComplete(String codeSnippet, int position, CompletionRequestor requestor, WorkingCopyOwner owner, org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Performs a code completion at the given position in the given code snippet, reporting results to the given completion requestor. It considers types in the working copies with the given owner first. In other words, the owner's working copies will take precedence over their original compilation units in the workspace.

      Note that if a working copy is empty, it will be as if the original compilation unit had been deleted.

      Note that code completion does not involve evaluation.

      If IProgressMonitor is not null then some proposals which can be very long to compute are proposed. To avoid that the code assist operation take too much time a IProgressMonitor which automatically cancel the code assist operation when a specified amount of time is reached could be used.

       new IProgressMonitor() {
           private final static int TIMEOUT = 500; //ms
           private long endTime;
           public void beginTask(String name, int totalWork) {
               fEndTime= System.currentTimeMillis() + TIMEOUT;
           }
           public boolean isCanceled() {
               return endTime Ungültige Eingabe: "<"= System.currentTimeMillis();
           }
           ...
       };
       
      Angegeben von:
      codeComplete in Schnittstelle IEvaluationContext
      Parameter:
      codeSnippet - the code snippet to complete in
      position - the character position in the code snippet to complete at, or -1 indicating the beginning of the snippet
      requestor - the code completion requestor capable of accepting all possible types of completions
      owner - the owner of working copies that take precedence over their original compilation units
      monitor - the progress monitor used to report progress
      Löst aus:
      JavaModelException - if code completion could not be performed. Reasons include:
      • The position specified is less than -1 or is greater than the snippet's length (INDEX_OUT_OF_BOUNDS)
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.core.eval.IEvaluationContext#codeComplete(String, int, CompletionRequestor, WorkingCopyOwner, IProgressMonitor)
    • codeSelect

      public IJavaElement[] codeSelect(String codeSnippet, int offset, int length) throws JavaModelException
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Resolves and returns a collection of Java elements corresponding to the source code at the given positions in the given code snippet.

      Note that code select does not involve evaluation, and problems are never reported.

      Angegeben von:
      codeSelect in Schnittstelle IEvaluationContext
      Parameter:
      codeSnippet - the code snippet to resolve in
      offset - the position in the code snippet of the first character of the code to resolve
      length - the length of the selected code to resolve
      Gibt zurück:
      the (possibly empty) list of selection Java elements
      Löst aus:
      JavaModelException - if code resolve could not be performed. Reasons include:
      • The position specified is less than -1 or is greater than the snippet's length (INDEX_OUT_OF_BOUNDS)
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.core.eval.IEvaluationContext#codeSelect(String, int, int)
    • codeSelect

      public IJavaElement[] codeSelect(String codeSnippet, int offset, int length, WorkingCopyOwner owner) throws JavaModelException
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Resolves and returns a collection of Java elements corresponding to the source code at the given positions in the given code snippet. It considers types in the working copies with the given owner first. In other words, the owner's working copies will take precedence over their original compilation units in the workspace.

      Note that if a working copy is empty, it will be as if the original compilation unit had been deleted.

      Note that code select does not involve evaluation, and problems are never reported.

      Angegeben von:
      codeSelect in Schnittstelle IEvaluationContext
      Parameter:
      codeSnippet - the code snippet to resolve in
      offset - the position in the code snippet of the first character of the code to resolve
      length - the length of the selected code to resolve
      owner - the owner of working copies that take precedence over their original compilation units
      Gibt zurück:
      the (possibly empty) list of selection Java elements
      Löst aus:
      JavaModelException - if code resolve could not be performed. Reasons include:
      • The position specified is less than -1 or is greater than the snippet's length (INDEX_OUT_OF_BOUNDS)
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.core.eval.IEvaluationContext#codeSelect(String, int, int, WorkingCopyOwner)
    • deleteVariable

      public void deleteVariable(IGlobalVariable variable)
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Deletes the given variable from this evaluation context. Does nothing if the given variable has already been deleted.
      Angegeben von:
      deleteVariable in Schnittstelle IEvaluationContext
      Parameter:
      variable - the global variable
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.core.eval.IEvaluationContext#deleteVariable(IGlobalVariable)
    • evaluateCodeSnippet

      public void evaluateCodeSnippet(String codeSnippet, String[] localVariableTypeNames, String[] localVariableNames, int[] localVariableModifiers, IType declaringType, boolean isStatic, boolean isConstructorCall, ICodeSnippetRequestor requestor, org.eclipse.core.runtime.IProgressMonitor progressMonitor) throws JavaModelException
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Evaluates the given code snippet in the context of a suspended thread. The code snippet is compiled along with this context's package declaration, imports, and global variables. The given requestor's acceptProblem method is called for each compilation problem that is detected. Then the resulting class files are handed to the given requestor's acceptClassFiles method to deploy and run.

      The requestor is expected to:

      1. send the class files to the target VM,
      2. load them (starting with the code snippet class),
      3. create a new instance of the code snippet class,
      4. run the method run() of the code snippet,
      5. retrieve the values of the local variables,
      6. retrieve the returned value of the code snippet

      This method is long-running; progress and cancellation are provided by the given progress monitor.

      Angegeben von:
      evaluateCodeSnippet in Schnittstelle IEvaluationContext
      Parameter:
      codeSnippet - the code snippet
      localVariableTypeNames - the dot-separated fully qualified names of the types of the local variables.
      localVariableNames - the names of the local variables as they are declared in the user's code.
      localVariableModifiers - the modifiers of the local variables (default modifier or final modifier).
      declaringType - the type in which the code snippet is evaluated.
      isStatic - whether the code snippet is evaluated in a static member of the declaring type.
      isConstructorCall - whether the code snippet is evaluated in a constructor of the declaring type.
      requestor - the code snippet requestor
      progressMonitor - a progress monitor
      Löst aus:
      JavaModelException - if a runtime problem occurred or if this context's project has no build state
      Siehe auch:
    • evaluateCodeSnippet

      public void evaluateCodeSnippet(String codeSnippet, ICodeSnippetRequestor requestor, org.eclipse.core.runtime.IProgressMonitor progressMonitor) throws JavaModelException
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Evaluates the given code snippet. The code snippet is compiled along with this context's package declaration, imports, and global variables. The given requestor's acceptProblem method is called for each compilation problem that is detected. Then the resulting class files are handed to the given requestor's acceptClassFiles method to deploy and run. The requestor is also responsible for getting the result back.

      This method is long-running; progress and cancellation are provided by the given progress monitor.

      Angegeben von:
      evaluateCodeSnippet in Schnittstelle IEvaluationContext
      Parameter:
      codeSnippet - the code snippet
      requestor - the code snippet requestor
      progressMonitor - a progress monitor
      Löst aus:
      JavaModelException - if a runtime problem occurred or if this context's project has no build state
      Siehe auch:
    • evaluateVariable

      public void evaluateVariable(IGlobalVariable variable, ICodeSnippetRequestor requestor, org.eclipse.core.runtime.IProgressMonitor progressMonitor) throws JavaModelException
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Evaluates the given global variable. During this operation, this context's package declaration, imports, and all its declared variables are verified. The given requestor's acceptProblem method will be called for each problem that is detected.

      This method is long-running; progress and cancellation are provided by the given progress monitor.

      Angegeben von:
      evaluateVariable in Schnittstelle IEvaluationContext
      Parameter:
      variable - the global variable
      requestor - the code snippet requestor
      progressMonitor - a progress monitor
      Löst aus:
      JavaModelException - if a runtime problem occurred or if this context's project has no build state
      Siehe auch:
    • getBuildNameEnvironment

      protected INameEnvironment getBuildNameEnvironment()
      Returns a name environment for the last built state.
    • getVarClassName

      public char[] getVarClassName()
    • getImports

      public String[] getImports()
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Returns the import declarations for this evaluation context. Returns and empty list if there are no imports (the default if the imports have never been set). The syntax for the import corresponds to a fully qualified type name, or to an on-demand package name as defined by ImportDeclaration (JLS2 7.5). For example, "java.util.Hashtable" or "java.util.*".
      Angegeben von:
      getImports in Schnittstelle IEvaluationContext
      Gibt zurück:
      the list of import names
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.core.eval.IEvaluationContext#getImports()
    • getInfrastructureEvaluationContext

      public EvaluationContext getInfrastructureEvaluationContext()
      Returns the infrastructure evaluation context.
    • getInfrastructureEvaluationRequestor

      protected IRequestor getInfrastructureEvaluationRequestor(ICodeSnippetRequestor requestor)
      Returns a new infrastructure evaluation requestor instance.
    • getPackageName

      public String getPackageName()
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Returns the name of the package in which code snippets are to be compiled and run. Returns an empty string for the default package (the default if the package name has never been set). For example, "com.example.myapp".
      Angegeben von:
      getPackageName in Schnittstelle IEvaluationContext
      Gibt zurück:
      the dot-separated package name, or the empty string indicating the default package
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.core.eval.IEvaluationContext#getPackageName()
    • getProblemFactory

      protected IProblemFactory getProblemFactory()
      Returns the problem factory to be used during evaluation.
    • getProject

      public IJavaProject getProject()
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Returns the Java project this evaluation context was created for.
      Angegeben von:
      getProject in Schnittstelle IEvaluationContext
      Gibt zurück:
      the Java project
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.core.eval.IEvaluationContext#getProject()
    • handleInstallException

      protected void handleInstallException(InstallException e) throws JavaModelException
      Handles an install exception by throwing a Java Model exception.
      Löst aus:
      JavaModelException
    • newVariable

      public IGlobalVariable newVariable(String typeName, String name, String initializer)
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Creates a new global variable with the given name, type, and initializer.

      The typeName and initializer are interpreted in the context of this context's package and import declarations.

      The syntax for a type name corresponds to Type in Field Declaration (JLS2 8.3).

      Angegeben von:
      newVariable in Schnittstelle IEvaluationContext
      Parameter:
      typeName - the type name
      name - the name of the global variable
      initializer - the initializer expression, or null if the variable is not initialized
      Gibt zurück:
      a new global variable with the given name, type, and initializer
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.core.eval.IEvaluationContext#newVariable(String, String, String)
    • setImports

      public void setImports(String[] imports)
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Sets the import declarations for this evaluation context. An empty list indicates there are no imports. The syntax for the import corresponds to a fully qualified type name, or to an on-demand package name as defined by ImportDeclaration (JLS2 7.5). For example, "java.util.Hashtable" or "java.util.*".
      Angegeben von:
      setImports in Schnittstelle IEvaluationContext
      Parameter:
      imports - the list of import names
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.core.eval.IEvaluationContext#setImports(String[])
    • setPackageName

      public void setPackageName(String packageName)
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Sets the dot-separated name of the package in which code snippets are to be compiled and run. For example, "com.example.myapp".
      Angegeben von:
      setPackageName in Schnittstelle IEvaluationContext
      Parameter:
      packageName - the dot-separated package name, or the empty string indicating the default package
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.core.eval.IEvaluationContext#setPackageName(String)
    • validateImports

      public void validateImports(ICodeSnippetRequestor requestor)
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Validates this evaluation context's import declarations. The given requestor's acceptProblem method is called for each problem that is detected.
      Angegeben von:
      validateImports in Schnittstelle IEvaluationContext
      Parameter:
      requestor - the code snippet requestor
      Siehe auch:
    • codeComplete

      public void codeComplete(String codeSnippet, int position, ICodeCompletionRequestor requestor) throws JavaModelException
      Veraltet.
      - use codeComplete(String, int, ICompletionRequestor) instead
      Beschreibung aus Schnittstelle kopiert: IEvaluationContext
      Performs a code completion at the given position in the given code snippet, reporting results to the given completion requestor.

      Note that code completion does not involve evaluation.

      Angegeben von:
      codeComplete in Schnittstelle IEvaluationContext
      Parameter:
      codeSnippet - the code snippet to complete in
      position - the character position in the code snippet to complete at, or -1 indicating the beginning of the snippet
      requestor - the code completion requestor capable of accepting all possible types of completions
      Löst aus:
      JavaModelException - if code completion could not be performed. Reasons include:
      • The position specified is less than -1 or is greater than the snippet's length (INDEX_OUT_OF_BOUNDS)
      Siehe auch: