Class CreateTypeMemberOperation
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.core.JavaModelOperation
org.aspectj.org.eclipse.jdt.internal.core.CreateElementInCUOperation
org.aspectj.org.eclipse.jdt.internal.core.CreateTypeMemberOperation
- All Implemented Interfaces:
org.eclipse.core.resources.IWorkspaceRunnable
,org.eclipse.core.runtime.ICoreRunnable
,org.eclipse.core.runtime.IProgressMonitor
- Direct Known Subclasses:
CreateFieldOperation
,CreateInitializerOperation
,CreateMethodOperation
,CreateTypeOperation
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
Modifier and TypeFieldDescriptionprotected String
The name of theASTNode
that may be used to create this new element.protected ASTNode
The AST node representing the element that this operation created.protected String
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
Fields inherited from interface org.eclipse.core.runtime.IProgressMonitor
UNKNOWN
-
Constructor Summary
ConstructorDescriptionCreateTypeMemberOperation
(IJavaElement parentElement, String source, boolean force) When executed, this operation will create a type member in the given parent element with the specified source. -
Method Summary
Modifier and TypeMethodDescriptionprotected ASTNode
generateElementAST
(ASTRewrite rewriter, ICompilationUnit cu) protected String
Generates anASTNode
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
(String newName) Sets the name of theASTNode
that will be used to create this new element.verify()
Possible failures: NO_ELEMENTS_TO_PROCESS - the parent element supplied to the operation isnull
.protected IJavaModelStatus
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, getLatestASTLevel, 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
Methods inherited from interface org.eclipse.core.runtime.IProgressMonitor
clearBlocked, setBlocked, slice
-
Field Details
-
source
The source code for the new member. -
alteredName
The name of theASTNode
that may be used to create this new element. Used by theCopyElementsOperation
for renaming -
createdNode
The AST node representing the element that this operation created.
-
-
Constructor Details
-
CreateTypeMemberOperation
When executed, this operation will create a type member in the given parent element with the specified source.
-
-
Method Details
-
getChildPropertyDescriptor
- Specified by:
getChildPropertyDescriptor
in classCreateElementInCUOperation
-
generateElementAST
protected ASTNode generateElementAST(ASTRewrite rewriter, ICompilationUnit cu) throws JavaModelException - Specified by:
generateElementAST
in classCreateElementInCUOperation
- Throws:
JavaModelException
-
rename
-
generateSyntaxIncorrectAST
Generates anASTNode
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
Returns the IType the member is to be created in. -
setAlteredName
Sets the name of theASTNode
that will be used to create this new element. Used by theCopyElementsOperation
for renaming- Overrides:
setAlteredName
in classCreateElementInCUOperation
-
verify
Possible failures:- NO_ELEMENTS_TO_PROCESS - the parent element supplied to the operation is
null
. - INVALID_CONTENTS - The source is
null
or has serious syntax errors. - NAME_COLLISION - A name collision occurred in the destination
- Overrides:
verify
in classCreateElementInCUOperation
- See Also:
- NO_ELEMENTS_TO_PROCESS - the parent element supplied to the operation is
-
verifyNameCollision
Verify for a name collision in the destination container.
-