Interface ICodeAssist

All Known Subinterfaces:
IClassFile, ICompilationUnit, IModularClassFile, IOrdinaryClassFile, ITypeRoot

public interface ICodeAssist
Common protocol for Java elements that support source code assist and code resolve.
Restriction:
This interface is not intended to be implemented by clients.
  • Method Details

    • codeComplete

      void codeComplete(int offset, ICodeCompletionRequestor requestor) throws JavaModelException
      Deprecated.
      Performs code completion at the given offset position in this compilation unit, reporting results to the given completion requestor. The offset is the 0-based index of the character, after which code assist is desired. An offset of -1 indicates to code assist at the beginning of this compilation unit.
      Parameters:
      offset - the given offset position
      requestor - the given completion requestor
      Throws:
      JavaModelException - if code assist could not be performed. Reasons include:
      • This Java element does not exist (ELEMENT_DOES_NOT_EXIST)
      • The position specified is < -1 or is greater than this compilation unit's source length (INDEX_OUT_OF_BOUNDS)
      IllegalArgumentException - if requestor is null
    • codeComplete

      void codeComplete(int offset, ICompletionRequestor requestor) throws JavaModelException
      Deprecated.
      Performs code completion at the given offset position in this compilation unit, reporting results to the given completion requestor. The offset is the 0-based index of the character, after which code assist is desired. An offset of -1 indicates to code assist at the beginning of this compilation unit.
      Parameters:
      offset - the given offset position
      requestor - the given completion requestor
      Throws:
      JavaModelException - if code assist could not be performed. Reasons include:
      • This Java element does not exist (ELEMENT_DOES_NOT_EXIST)
      • The position specified is < -1 or is greater than this compilation unit's source length (INDEX_OUT_OF_BOUNDS)
      IllegalArgumentException - if requestor is null
      Since:
      2.0
    • codeComplete

      void codeComplete(int offset, CompletionRequestor requestor) throws JavaModelException
      Performs code completion at the given offset position in this compilation unit, reporting results to the given completion requestor. The offset is the 0-based index of the character, after which code assist is desired. An offset of -1 indicates to code assist at the beginning of this compilation unit.
      Parameters:
      offset - the given offset position
      requestor - the given completion requestor
      Throws:
      JavaModelException - if code assist could not be performed. Reasons include:
      • This Java element does not exist (ELEMENT_DOES_NOT_EXIST)
      • The position specified is < -1 or is greater than this compilation unit's source length (INDEX_OUT_OF_BOUNDS)
      IllegalArgumentException - if requestor is null
      Since:
      3.0
    • codeComplete

      void codeComplete(int offset, CompletionRequestor requestor, org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException
      Performs code completion at the given offset position in this compilation unit, reporting results to the given completion requestor. The offset is the 0-based index of the character, after which code assist is desired. An offset of -1 indicates to code assist at the beginning of this compilation unit.

      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 <= System.currentTimeMillis();
           }
           ...
       };
       
       
      Parameters:
      offset - the given offset position
      requestor - the given completion requestor
      monitor - the progress monitor used to report progress
      Throws:
      JavaModelException - if code assist could not be performed. Reasons include:
      • This Java element does not exist (ELEMENT_DOES_NOT_EXIST)
      • The position specified is < -1 or is greater than this compilation unit's source length (INDEX_OUT_OF_BOUNDS)
      IllegalArgumentException - if requestor is null
      Since:
      3.5
    • codeComplete

      void codeComplete(int offset, ICompletionRequestor requestor, WorkingCopyOwner owner) throws JavaModelException
      Performs code completion at the given offset position in this compilation unit, reporting results to the given completion requestor. The offset is the 0-based index of the character, after which code assist is desired. An offset of -1 indicates to code assist at the beginning of this compilation unit. 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.

      Parameters:
      offset - the given offset position
      requestor - the given completion requestor
      owner - the owner of working copies that take precedence over their original compilation units
      Throws:
      JavaModelException - if code assist could not be performed. Reasons include:
      • This Java element does not exist (ELEMENT_DOES_NOT_EXIST)
      • The position specified is < -1 or is greater than this compilation unit's source length (INDEX_OUT_OF_BOUNDS)
      IllegalArgumentException - if requestor is null
      Since:
      3.0
    • codeComplete

      void codeComplete(int offset, CompletionRequestor requestor, WorkingCopyOwner owner) throws JavaModelException
      Performs code completion at the given offset position in this compilation unit, reporting results to the given completion requestor. The offset is the 0-based index of the character, after which code assist is desired. An offset of -1 indicates to code assist at the beginning of this compilation unit. 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.

      Parameters:
      offset - the given offset position
      requestor - the given completion requestor
      owner - the owner of working copies that take precedence over their original compilation units
      Throws:
      JavaModelException - if code assist could not be performed. Reasons include:
      • This Java element does not exist (ELEMENT_DOES_NOT_EXIST)
      • The position specified is < -1 or is greater than this compilation unit's source length (INDEX_OUT_OF_BOUNDS)
      IllegalArgumentException - if requestor is null
      Since:
      3.0
    • codeComplete

      void codeComplete(int offset, CompletionRequestor requestor, WorkingCopyOwner owner, org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException
      Performs code completion at the given offset position in this compilation unit, reporting results to the given completion requestor. The offset is the 0-based index of the character, after which code assist is desired. An offset of -1 indicates to code assist at the beginning of this compilation unit. 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.

      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 <= System.currentTimeMillis();
           }
           ...
       };
       
       
      Parameters:
      offset - the given offset position
      requestor - the given completion requestor
      owner - the owner of working copies that take precedence over their original compilation units
      monitor - the progress monitor used to report progress
      Throws:
      JavaModelException - if code assist could not be performed. Reasons include:
      • This Java element does not exist (ELEMENT_DOES_NOT_EXIST)
      • The position specified is < -1 or is greater than this compilation unit's source length (INDEX_OUT_OF_BOUNDS)
      IllegalArgumentException - if requestor is null
      Since:
      3.5
    • codeSelect

      IJavaElement[] codeSelect(int offset, int length) throws JavaModelException
      Returns the Java elements corresponding to the given selected text in this compilation unit. The offset is the 0-based index of the first selected character. The length is the number of selected characters.

      Note that if the length is 0 and the offset is inside an identifier or the index just after an identifier then this identifier is considered as the selection.

      Parameters:
      offset - the given offset position
      length - the number of selected characters
      Returns:
      the Java elements corresponding to the given selected text
      Throws:
      JavaModelException - if code resolve could not be performed. Reasons include:
      • This Java element does not exist (ELEMENT_DOES_NOT_EXIST)
      • The range specified is not within this element's source range (INDEX_OUT_OF_BOUNDS)
    • codeSelect

      IJavaElement[] codeSelect(int offset, int length, WorkingCopyOwner owner) throws JavaModelException
      Returns the Java elements corresponding to the given selected text in this compilation unit. The offset is the 0-based index of the first selected character. The length is the number of selected characters. 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 the length is 0 and the offset is inside an identifier or the index just after an identifier then this identifier is considered as the selection.

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

      Parameters:
      offset - the given offset position
      length - the number of selected characters
      owner - the owner of working copies that take precedence over their original compilation units
      Returns:
      the Java elements corresponding to the given selected text
      Throws:
      JavaModelException - if code resolve could not be performed. Reasons include:
      • This Java element does not exist (ELEMENT_DOES_NOT_EXIST)
      • The range specified is not within this element's source range (INDEX_OUT_OF_BOUNDS)
      Since:
      3.0