Class CreateImportOperation
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.CreateImportOperation
- All Implemented Interfaces:
org.eclipse.core.resources.IWorkspaceRunnable,org.eclipse.core.runtime.ICoreRunnable,org.eclipse.core.runtime.IProgressMonitor
This operation adds an import declaration to an existing compilation unit.
If the compilation unit already includes the specified import declaration,
the import is not generated (it does not generate duplicates).
Note that it is valid to specify both a single-type import and an on-demand import
for the same package, for example "java.io.File" and
"java.io.*", in which case both are preserved since the semantics
of this are not the same as just importing "java.io.*".
Importing "java.lang.*", or the package in which the compilation unit
is defined, are not treated as special cases. If they are specified, they are
included in the result.
Required Attributes:
- Compilation unit
- Import name - the name of the import to add to the
compilation unit. For example:
"java.io.File"or"java.awt.*"
-
Nested Class Summary
Nested classes/interfaces inherited from class org.aspectj.org.eclipse.jdt.internal.core.JavaModelOperation
JavaModelOperation.IPostAction -
Field Summary
FieldsFields 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
ConstructorsConstructorDescriptionCreateImportOperation(String importName, ICompilationUnit parentElement, int flags) When executed, this operation will add an import to the given compilation unit. -
Method Summary
Modifier and TypeMethodDescriptionprotected ASTNodegenerateElementAST(ASTRewrite rewriter, ICompilationUnit cu) protected IJavaElementCreates and returns the handle for the element this operation created.protected StructuralPropertyDescriptorgetChildPropertyDescriptor(ASTNode parent) Returns the name of the main task of this operation for progress reporting.protected voidSets the correct position for the new import: after the last import if no imports, before the first type if no type, after the package statement and if no package statement - first thing in the CUverify()Possible failures: NO_ELEMENTS_TO_PROCESS - the compilation unit supplied to the operation isnull.Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.CreateElementInCUOperation
checkCanceled, createAfter, createBefore, executeOperation, generateNewCompilationUnitAST, generateResultHandles, getCompilationUnit, getMainAmountOfWork, getSchedulingRule, insertASTNode, parse, setAlteredName, 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
-
importName
-
flags
protected int flags
-
-
Constructor Details
-
CreateImportOperation
When executed, this operation will add an import to the given compilation unit.
-
-
Method Details
-
getChildPropertyDescriptor
- Specified by:
getChildPropertyDescriptorin classCreateElementInCUOperation
-
generateElementAST
protected ASTNode generateElementAST(ASTRewrite rewriter, ICompilationUnit cu) throws JavaModelException - Specified by:
generateElementASTin classCreateElementInCUOperation- Throws:
JavaModelException
-
generateResultHandle
Description copied from class:CreateElementInCUOperationCreates and returns the handle for the element this operation created.- Specified by:
generateResultHandlein classCreateElementInCUOperation- See Also:
-
getMainTaskName
Description copied from class:CreateElementInCUOperationReturns the name of the main task of this operation for progress reporting.- Specified by:
getMainTaskNamein classCreateElementInCUOperation- See Also:
-
initializeDefaultPosition
protected void initializeDefaultPosition()Sets the correct position for the new import:- after the last import
- if no imports, before the first type
- if no type, after the package statement
- and if no package statement - first thing in the CU
- Overrides:
initializeDefaultPositionin classCreateElementInCUOperation
-
verify
Possible failures:- NO_ELEMENTS_TO_PROCESS - the compilation unit supplied to the operation is
null. - INVALID_NAME - not a valid import declaration name.
- Overrides:
verifyin classCreateElementInCUOperation- See Also:
- NO_ELEMENTS_TO_PROCESS - the compilation unit supplied to the operation is
-