org.aspectj.org.eclipse.jdt.internal.core
Class CreateTypeMemberOperation

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.internal.core.JavaModelOperation
      extended by org.aspectj.org.eclipse.jdt.internal.core.CreateElementInCUOperation
          extended by org.aspectj.org.eclipse.jdt.internal.core.CreateTypeMemberOperation
Direct Known Subclasses:
CreateFieldOperation, CreateInitializerOperation, CreateMethodOperation, CreateTypeOperation

public abstract class CreateTypeMemberOperation
extends CreateElementInCUOperation

Implements functionality common to operations that create type members.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.aspectj.org.eclipse.jdt.internal.core.JavaModelOperation
JavaModelOperation.IPostAction
 
Field Summary
protected  java.lang.String alteredName
          The name of the ASTNode that may be used to create this new element.
protected  ASTNode createdNode
          The AST node representing the element that this operation created.
protected  java.lang.String source
          The source code for the new member.
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.core.CreateElementInCUOperation
anchorElement, creationOccurred, cuAST, INSERT_AFTER, INSERT_BEFORE, INSERT_LAST, insertionPolicy
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.core.JavaModelOperation
actions, actionsEnd, actionsStart, APPEND, attributes, elementsToProcess, force, HAS_MODIFIED_RESOURCE_ATTR, isNested, KEEP_EXISTING, NO_ELEMENTS, OPERATION_STACKS, parentElements, POST_ACTION_VERBOSE, progressMonitor, REMOVEALL_APPEND, resultElements, TRUE
 
Constructor Summary
CreateTypeMemberOperation(IJavaElement parentElement, java.lang.String source, boolean force)
          When executed, this operation will create a type member in the given parent element with the specified source.
 
Method Summary
protected  ASTNode generateElementAST(ASTRewrite rewriter, ICompilationUnit cu)
           
protected  java.lang.String generateSyntaxIncorrectAST()
          Generates an ASTNode based on the source of this operation when there is likely a syntax error in the source.
protected  StructuralPropertyDescriptor getChildPropertyDescriptor(ASTNode parent)
           
protected  IType getType()
          Returns the IType the member is to be created in.
protected abstract  SimpleName rename(ASTNode node, SimpleName newName)
           
protected  void setAlteredName(java.lang.String newName)
          Sets the name of the ASTNode that will be used to create this new element.
 IJavaModelStatus verify()
          Possible failures: NO_ELEMENTS_TO_PROCESS - the parent element supplied to the operation is null.
protected  IJavaModelStatus verifyNameCollision()
          Verify for a name collision in the destination container.
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.CreateElementInCUOperation
checkCanceled, createAfter, createBefore, executeOperation, generateNewCompilationUnitAST, generateResultHandle, generateResultHandles, getCompilationUnit, getMainAmountOfWork, getMainTaskName, getSchedulingRule, initializeDefaultPosition, insertASTNode, parse, setRelativePosition
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.JavaModelOperation
addAction, addDelta, addReconcileDelta, applyTextEdit, beginTask, canModifyRoots, commonVerify, copyResources, createFile, createFolder, deleteEmptyPackageFragment, deleteResource, deleteResources, done, equalsOneOf, executeNestedOperation, firstActionWithID, getAttribute, getCompilationUnitFor, getCurrentOperationStack, getDocument, getElementToProcess, getJavaModel, getNestedFolders, getParentElement, getParentElements, getResultElements, getSubProgressMonitor, hasModifiedResource, internalWorked, isCanceled, isReadOnly, isTopLevelOperation, moveResources, newJavaElementDelta, popOperation, postAction, prefixesOneOf, pushOperation, removeAllPostAction, removeReconcileDelta, run, runOperation, runPostActions, setAttribute, setCanceled, setNested, setTaskName, subTask, worked
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

source

protected java.lang.String source
The source code for the new member.


alteredName

protected java.lang.String alteredName
The name of the ASTNode that may be used to create this new element. Used by the CopyElementsOperation for renaming


createdNode

protected ASTNode createdNode
The AST node representing the element that this operation created.

Constructor Detail

CreateTypeMemberOperation

public CreateTypeMemberOperation(IJavaElement parentElement,
                                 java.lang.String source,
                                 boolean force)
When executed, this operation will create a type member in the given parent element with the specified source.

Method Detail

getChildPropertyDescriptor

protected StructuralPropertyDescriptor getChildPropertyDescriptor(ASTNode parent)
Specified by:
getChildPropertyDescriptor in class CreateElementInCUOperation

generateElementAST

protected ASTNode generateElementAST(ASTRewrite rewriter,
                                     ICompilationUnit cu)
                              throws JavaModelException
Specified by:
generateElementAST in class CreateElementInCUOperation
Throws:
JavaModelException

rename

protected abstract SimpleName rename(ASTNode node,
                                     SimpleName newName)

generateSyntaxIncorrectAST

protected java.lang.String generateSyntaxIncorrectAST()
Generates an ASTNode based on the source of this operation when there is likely a syntax error in the source. Returns the source used to generate this node.


getType

protected IType getType()
Returns the IType the member is to be created in.


setAlteredName

protected void setAlteredName(java.lang.String newName)
Sets the name of the ASTNode that will be used to create this new element. Used by the CopyElementsOperation for renaming

Overrides:
setAlteredName in class CreateElementInCUOperation

verify

public IJavaModelStatus verify()
Possible failures:

Overrides:
verify in class CreateElementInCUOperation
See Also:
IJavaModelStatus, JavaConventions

verifyNameCollision

protected IJavaModelStatus verifyNameCollision()
Verify for a name collision in the destination container.