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
FieldsModifier and TypeFieldDescriptionprotected StringThe name of theASTNodethat may be used to create this new element.protected ASTNodeThe AST node representing the element that this operation created.protected StringThe 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, insertionPolicyFields 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, TRUEFields inherited from interface org.eclipse.core.runtime.IProgressMonitor
UNKNOWN -
Constructor Summary
ConstructorsConstructorDescriptionCreateTypeMemberOperation(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 ASTNodegenerateElementAST(ASTRewrite rewriter, ICompilationUnit cu) protected StringGenerates anASTNodebased on the source of this operation when there is likely a syntax error in the source.protected StructuralPropertyDescriptorgetChildPropertyDescriptor(ASTNode parent) protected ITypegetType()Returns the IType the member is to be created in.protected abstract SimpleNamerename(ASTNode node, SimpleName newName) protected voidsetAlteredName(String newName) Sets the name of theASTNodethat will be used to create this new element.verify()Possible failures: NO_ELEMENTS_TO_PROCESS - the parent element supplied to the operation isnull.protected IJavaModelStatusVerify 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, setRelativePositionMethods 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, workedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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 theASTNodethat may be used to create this new element. Used by theCopyElementsOperationfor 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:
getChildPropertyDescriptorin classCreateElementInCUOperation
-
generateElementAST
protected ASTNode generateElementAST(ASTRewrite rewriter, ICompilationUnit cu) throws JavaModelException - Specified by:
generateElementASTin classCreateElementInCUOperation- Throws:
JavaModelException
-
rename
-
generateSyntaxIncorrectAST
Generates anASTNodebased 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 theASTNodethat will be used to create this new element. Used by theCopyElementsOperationfor renaming- Overrides:
setAlteredNamein classCreateElementInCUOperation
-
verify
Possible failures:- NO_ELEMENTS_TO_PROCESS - the parent element supplied to the operation is
null. - INVALID_CONTENTS - The source is
nullor has serious syntax errors. - NAME_COLLISION - A name collision occurred in the destination
- Overrides:
verifyin 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.
-