Klasse CreateElementInCUOperation

java.lang.Object
org.aspectj.org.eclipse.jdt.internal.core.JavaModelOperation
org.aspectj.org.eclipse.jdt.internal.core.CreateElementInCUOperation
Alle implementierten Schnittstellen:
org.eclipse.core.resources.IWorkspaceRunnable, org.eclipse.core.runtime.ICoreRunnable, org.eclipse.core.runtime.IProgressMonitor
Bekannte direkte Unterklassen:
CreateImportOperation, CreatePackageDeclarationOperation, CreateTypeMemberOperation

public abstract class CreateElementInCUOperation extends JavaModelOperation

This abstract class implements behavior common to CreateElementInCUOperations. To create a compilation unit, or an element contained in a compilation unit, the source code for the entire compilation unit is updated and saved.

The element being created can be positioned relative to an existing element in the compilation unit via the methods #createAfter and #createBefore. By default, the new element is positioned as the last child of its parent element.

  • Felddetails

    • cuAST

      protected CompilationUnit cuAST
      The compilation unit AST used for this operation
    • INSERT_LAST

      protected static final int INSERT_LAST
      A constant meaning to position the new element as the last child of its parent element.
      Siehe auch:
    • INSERT_AFTER

      protected static final int INSERT_AFTER
      A constant meaning to position the new element after the element defined by fAnchorElement.
      Siehe auch:
    • INSERT_BEFORE

      protected static final int INSERT_BEFORE
      A constant meaning to position the new element before the element defined by fAnchorElement.
      Siehe auch:
    • insertionPolicy

      protected int insertionPolicy
      One of the position constants, describing where to position the newly created element.
    • anchorElement

      protected IJavaElement anchorElement
      The element that the newly created element is positioned relative to, as described by fInsertPosition, or null if the newly created element will be positioned last.
    • creationOccurred

      protected boolean creationOccurred
      A flag indicating whether creation of a new element occurred. A request for creating a duplicate element would request in this flag being set to false. Ensures that no deltas are generated when creation does not occur.
  • Konstruktordetails

    • CreateElementInCUOperation

      public CreateElementInCUOperation(IJavaElement parentElement)
      Constructs an operation that creates a Java Language Element with the specified parent, contained within a compilation unit.
  • Methodendetails

    • checkCanceled

      protected void checkCanceled()
      Only allow cancelling if this operation is not nested.
      Setzt außer Kraft:
      checkCanceled in Klasse JavaModelOperation
      Siehe auch:
      • IProgressMonitor.isCanceled()
    • createAfter

      public void createAfter(IJavaElement sibling)
      Instructs this operation to position the new element after the given sibling, or to add the new element as the last child of its parent if null.
    • createBefore

      public void createBefore(IJavaElement sibling)
      Instructs this operation to position the new element before the given sibling, or to add the new element as the last child of its parent if null.
    • executeOperation

      protected void executeOperation() throws JavaModelException
      Execute the operation - generate new source for the compilation unit and save the results.
      Angegeben von:
      executeOperation in Klasse JavaModelOperation
      Löst aus:
      JavaModelException - if the operation is unable to complete
    • getChildPropertyDescriptor

      protected abstract StructuralPropertyDescriptor getChildPropertyDescriptor(ASTNode parent)
    • generateElementAST

      protected abstract ASTNode generateElementAST(ASTRewrite rewriter, ICompilationUnit cu) throws JavaModelException
      Löst aus:
      JavaModelException
    • generateNewCompilationUnitAST

      protected void generateNewCompilationUnitAST(ICompilationUnit cu) throws JavaModelException
      Löst aus:
      JavaModelException
    • generateResultHandle

      protected abstract IJavaElement generateResultHandle()
      Creates and returns the handle for the element this operation created.
    • generateResultHandles

      protected IJavaElement[] generateResultHandles()
      Creates and returns the handles for the elements this operation created.
    • getCompilationUnit

      protected ICompilationUnit getCompilationUnit()
      Returns the compilation unit in which the new element is being created.
    • getMainAmountOfWork

      protected int getMainAmountOfWork()
      Returns the amount of work for the main task of this operation for progress reporting.
    • getMainTaskName

      public abstract String getMainTaskName()
      Returns the name of the main task of this operation for progress reporting.
    • getSchedulingRule

      protected org.eclipse.core.runtime.jobs.ISchedulingRule getSchedulingRule()
      Setzt außer Kraft:
      getSchedulingRule in Klasse JavaModelOperation
    • initializeDefaultPosition

      protected void initializeDefaultPosition()
      Sets the default position in which to create the new type member. Operations that require a different default position must override this method.
    • insertASTNode

      protected void insertASTNode(ASTRewrite rewriter, ASTNode parent, ASTNode child) throws JavaModelException
      Inserts the given child into the given AST, based on the position settings of this operation.
      Löst aus:
      JavaModelException
      Siehe auch:
    • parse

      Löst aus:
      JavaModelException
    • setAlteredName

      protected void setAlteredName(String newName)
      Sets the name of the DOMNode that will be used to create this new element. Used by the CopyElementsOperation for renaming. Only used for CreateTypeMemberOperation
    • setRelativePosition

      protected void setRelativePosition(IJavaElement sibling, int policy) throws IllegalArgumentException
      Instructs this operation to position the new element relative to the given sibling, or to add the new element as the last child of its parent if null. The position must be one of the position constants.
      Löst aus:
      IllegalArgumentException
    • verify

      public IJavaModelStatus verify()
      Possible failures:
      • NO_ELEMENTS_TO_PROCESS - the compilation unit supplied to the operation is null.
      • INVALID_NAME - no name, a name was null or not a valid import declaration name.
      • INVALID_SIBLING - the sibling provided for positioning is not valid.
      Setzt außer Kraft:
      verify in Klasse JavaModelOperation
      Siehe auch: