Class JavaModelOperation
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.core.JavaModelOperation
- All Implemented Interfaces:
org.eclipse.core.resources.IWorkspaceRunnable,org.eclipse.core.runtime.ICoreRunnable,org.eclipse.core.runtime.IProgressMonitor
- Direct Known Subclasses:
BatchOperation,BecomeWorkingCopyOperation,ChangeClasspathOperation,CommitWorkingCopyOperation,CopyPackageFragmentRootOperation,CreateCompilationUnitOperation,CreateElementInCUOperation,CreatePackageFragmentOperation,CreateTypeHierarchyOperation,DeletePackageFragmentRootOperation,DiscardWorkingCopyOperation,MultiOperation,ReconcileWorkingCopyOperation,SortElementsOperation
public abstract class JavaModelOperation
extends Object
implements org.eclipse.core.resources.IWorkspaceRunnable, org.eclipse.core.runtime.IProgressMonitor
Defines behavior common to all Java Model operations
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected JavaModelOperation.IPostAction[]protected intprotected intprotected static final intprotected HashMapprotected IJavaElement[]The elements this operation operates on, ornullif this operation does not operate on specific elements.protected booleanConflict resolution policy - by default do not force (fail on a conflict).static final Stringprotected booleanA flag indicating whether this operation is nested.protected static final intprotected static final IJavaElement[]An empty collection ofIJavaElements - the common empty result if no elements are created, or if this operation is not actually executed.protected static final ThreadLocalprotected IJavaElement[]The parent elements this operation operates with ornullif this operation does not operate with specific parent elements.protected static booleanorg.eclipse.core.runtime.SubMonitorThe progress monitor passed into this operationprotected static final intprotected IJavaElement[]The elements created by this operation - empty until the operation actually creates elements.static final StringFields inherited from interface org.eclipse.core.runtime.IProgressMonitor
UNKNOWN -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedprotectedJavaModelOperation(IJavaElement element) Common constructor for all Java Model operations.protectedJavaModelOperation(IJavaElement[] elements) A common constructor for all Java Model operations.protectedJavaModelOperation(IJavaElement[] elements, boolean force) A common constructor for all Java Model operations.protectedJavaModelOperation(IJavaElement[] elementsToProcess, IJavaElement[] parentElements) Common constructor for all Java Model operations.protectedJavaModelOperation(IJavaElement[] elementsToProcess, IJavaElement[] parentElements, boolean force) A common constructor for all Java Model operations. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidprotected voidaddDelta(IJavaElementDelta delta) protected voidaddReconcileDelta(ICompilationUnit workingCopy, IJavaElementDelta delta) protected voidapplyTextEdit(ICompilationUnit cu, org.eclipse.text.edits.TextEdit edits) voidprotected booleanprotected voidChecks with the progress monitor to see whether this operation should be canceled.protected IJavaModelStatusCommon code used to verify the elements this operation is processing.protected voidcopyResources(org.eclipse.core.resources.IResource[] resources, org.eclipse.core.runtime.IPath container) Convenience method to copy resourcesprotected voidcreateFile(org.eclipse.core.resources.IContainer folder, String name, byte[] contents, boolean forceFlag) Convenience method to create a fileprotected voidcreateFolder(org.eclipse.core.resources.IContainer parentFolder, String name, boolean forceFlag) Convenience method to create a folderprotected voiddeleteEmptyPackageFragment(IPackageFragment fragment, boolean forceFlag, org.eclipse.core.resources.IResource rootResource) Convenience method to delete an empty package fragmentprotected voiddeleteResource(org.eclipse.core.resources.IResource resource, int flags) Convenience method to delete a resourceprotected voiddeleteResources(org.eclipse.core.resources.IResource[] resources, boolean forceFlag) Convenience method to delete resourcesvoiddone()protected booleanequalsOneOf(org.eclipse.core.runtime.IPath path, org.eclipse.core.runtime.IPath[] otherPaths) voidexecuteNestedOperation(JavaModelOperation operation, int subWorkAmount) Convenience method to run an operation within this operationprotected abstract voidPerforms the operation specific behavior.protected intfirstActionWithID(String id, int start) protected static ObjectgetAttribute(Object key) protected ICompilationUnitgetCompilationUnitFor(IJavaElement element) Returns the compilation unit the given element is contained in, or the element itself (if it is a compilation unit), otherwisenull.protected static ArrayListprotected org.eclipse.jface.text.IDocumentprotected IJavaElementReturns the element to which this operation applies, ornullif not applicable.Returns the Java Model this operation is operating in.protected intprotected org.eclipse.core.runtime.IPath[]protected IJavaElementReturns the parent element to which this operation applies, ornullif not applicable.protected IJavaElement[]Returns the parent elements to which this operation applies, ornullif not applicable.Returns the elements created by this operation.protected org.eclipse.core.runtime.jobs.ISchedulingRuleprotected org.eclipse.core.runtime.IProgressMonitorgetSubProgressMonitor(int workAmount) Creates and returns a subprogress monitor if appropriate.booleanReturns whether this operation has performed any resource modifications.voidinternalWorked(double work) booleanbooleanReturnstrueif this operation performs no resource modifications, otherwisefalse.protected booleanprotected voidmoveResources(org.eclipse.core.resources.IResource[] resources, org.eclipse.core.runtime.IPath container) Convenience method to move resourcesCreates and returns a newIJavaElementDeltaon the Java Model.protected JavaModelOperationprotected voidpostAction(JavaModelOperation.IPostAction action, int insertionMode) protected booleanprefixesOneOf(org.eclipse.core.runtime.IPath path, org.eclipse.core.runtime.IPath[] otherPaths) protected voidpushOperation(JavaModelOperation operation) protected voidremoveAllPostAction(String actionID) protected voidremoveReconcileDelta(ICompilationUnit workingCopy) voidrun(org.eclipse.core.runtime.IProgressMonitor monitor) Runs this operation and registers any deltas created.voidrunOperation(org.eclipse.core.runtime.IProgressMonitor monitor) Main entry point for Java Model operations.protected voidprotected static voidsetAttribute(Object key, Object attribute) voidsetCanceled(boolean b) protected voidsetNested(boolean nested) Sets whether this operation is nested or not.voidsetTaskName(String name) voidprotected IJavaModelStatusverify()Returns a status indicating if there is any known reason this operation will fail.voidworked(int work) Methods 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
-
APPEND
protected static final int APPEND- See Also:
-
REMOVEALL_APPEND
protected static final int REMOVEALL_APPEND- See Also:
-
KEEP_EXISTING
protected static final int KEEP_EXISTING- See Also:
-
POST_ACTION_VERBOSE
protected static boolean POST_ACTION_VERBOSE -
actions
-
actionsStart
protected int actionsStart -
actionsEnd
protected int actionsEnd -
attributes
-
HAS_MODIFIED_RESOURCE_ATTR
- See Also:
-
TRUE
- See Also:
-
elementsToProcess
The elements this operation operates on, ornullif this operation does not operate on specific elements. -
parentElements
The parent elements this operation operates with ornullif this operation does not operate with specific parent elements. -
NO_ELEMENTS
An empty collection ofIJavaElements - the common empty result if no elements are created, or if this operation is not actually executed. -
resultElements
The elements created by this operation - empty until the operation actually creates elements. -
progressMonitor
public org.eclipse.core.runtime.SubMonitor progressMonitorThe progress monitor passed into this operation -
isNested
protected boolean isNestedA flag indicating whether this operation is nested. -
force
protected boolean forceConflict resolution policy - by default do not force (fail on a conflict). -
OPERATION_STACKS
-
-
Constructor Details
-
JavaModelOperation
protected JavaModelOperation() -
JavaModelOperation
A common constructor for all Java Model operations. -
JavaModelOperation
Common constructor for all Java Model operations. -
JavaModelOperation
protected JavaModelOperation(IJavaElement[] elementsToProcess, IJavaElement[] parentElements, boolean force) A common constructor for all Java Model operations. -
JavaModelOperation
A common constructor for all Java Model operations. -
JavaModelOperation
Common constructor for all Java Model operations.
-
-
Method Details
-
getLatestASTLevel
protected int getLatestASTLevel() -
addAction
-
addDelta
-
addReconcileDelta
-
removeReconcileDelta
-
applyTextEdit
protected void applyTextEdit(ICompilationUnit cu, org.eclipse.text.edits.TextEdit edits) throws JavaModelException - Throws:
JavaModelException
-
beginTask
- Specified by:
beginTaskin interfaceorg.eclipse.core.runtime.IProgressMonitor- See Also:
-
canModifyRoots
protected boolean canModifyRoots() -
checkCanceled
protected void checkCanceled()Checks with the progress monitor to see whether this operation should be canceled. An operation should regularly call this method during its operation so that the user can cancel it.- Throws:
org.eclipse.core.runtime.OperationCanceledException- if cancelling the operation has been requested- See Also:
-
commonVerify
Common code used to verify the elements this operation is processing.- See Also:
-
copyResources
protected void copyResources(org.eclipse.core.resources.IResource[] resources, org.eclipse.core.runtime.IPath container) throws JavaModelException Convenience method to copy resources- Throws:
JavaModelException
-
createFile
protected void createFile(org.eclipse.core.resources.IContainer folder, String name, byte[] contents, boolean forceFlag) throws JavaModelException Convenience method to create a file- Throws:
JavaModelException
-
createFolder
protected void createFolder(org.eclipse.core.resources.IContainer parentFolder, String name, boolean forceFlag) throws JavaModelException Convenience method to create a folder- Throws:
JavaModelException
-
deleteEmptyPackageFragment
protected void deleteEmptyPackageFragment(IPackageFragment fragment, boolean forceFlag, org.eclipse.core.resources.IResource rootResource) throws JavaModelException Convenience method to delete an empty package fragment- Throws:
JavaModelException
-
deleteResource
protected void deleteResource(org.eclipse.core.resources.IResource resource, int flags) throws JavaModelException Convenience method to delete a resource- Throws:
JavaModelException
-
deleteResources
protected void deleteResources(org.eclipse.core.resources.IResource[] resources, boolean forceFlag) throws JavaModelException Convenience method to delete resources- Throws:
JavaModelException
-
done
public void done()- Specified by:
donein interfaceorg.eclipse.core.runtime.IProgressMonitor- See Also:
-
equalsOneOf
protected boolean equalsOneOf(org.eclipse.core.runtime.IPath path, org.eclipse.core.runtime.IPath[] otherPaths) -
executeNestedOperation
public void executeNestedOperation(JavaModelOperation operation, int subWorkAmount) throws JavaModelException Convenience method to run an operation within this operation- Throws:
JavaModelException
-
executeOperation
Performs the operation specific behavior. Subclasses must override.- Throws:
JavaModelException
-
getAttribute
-
getCompilationUnitFor
Returns the compilation unit the given element is contained in, or the element itself (if it is a compilation unit), otherwisenull. -
getCurrentOperationStack
-
getDocument
protected org.eclipse.jface.text.IDocument getDocument(ICompilationUnit cu) throws JavaModelException - Throws:
JavaModelException
-
getElementToProcess
Returns the element to which this operation applies, ornullif not applicable. -
getJavaModel
Returns the Java Model this operation is operating in. -
getNestedFolders
protected org.eclipse.core.runtime.IPath[] getNestedFolders(IPackageFragmentRoot root) throws JavaModelException - Throws:
JavaModelException
-
getParentElement
Returns the parent element to which this operation applies, ornullif not applicable. -
getParentElements
Returns the parent elements to which this operation applies, ornullif not applicable. -
getResultElements
Returns the elements created by this operation. -
getSchedulingRule
protected org.eclipse.core.runtime.jobs.ISchedulingRule getSchedulingRule() -
getSubProgressMonitor
protected org.eclipse.core.runtime.IProgressMonitor getSubProgressMonitor(int workAmount) Creates and returns a subprogress monitor if appropriate. -
hasModifiedResource
public boolean hasModifiedResource()Returns whether this operation has performed any resource modifications. Returns false if this operation has not been executed yet. -
internalWorked
public void internalWorked(double work) - Specified by:
internalWorkedin interfaceorg.eclipse.core.runtime.IProgressMonitor
-
isCanceled
public boolean isCanceled()- Specified by:
isCanceledin interfaceorg.eclipse.core.runtime.IProgressMonitor- See Also:
-
isReadOnly
public boolean isReadOnly()Returnstrueif this operation performs no resource modifications, otherwisefalse. Subclasses must override. -
isTopLevelOperation
protected boolean isTopLevelOperation() -
firstActionWithID
-
moveResources
protected void moveResources(org.eclipse.core.resources.IResource[] resources, org.eclipse.core.runtime.IPath container) throws JavaModelException Convenience method to move resources- Throws:
JavaModelException
-
newJavaElementDelta
Creates and returns a newIJavaElementDeltaon the Java Model. -
popOperation
-
postAction
-
prefixesOneOf
protected boolean prefixesOneOf(org.eclipse.core.runtime.IPath path, org.eclipse.core.runtime.IPath[] otherPaths) -
pushOperation
-
removeAllPostAction
-
run
public void run(org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException Runs this operation and registers any deltas created.- Specified by:
runin interfaceorg.eclipse.core.runtime.ICoreRunnable- Specified by:
runin interfaceorg.eclipse.core.resources.IWorkspaceRunnable- Throws:
org.eclipse.core.runtime.CoreException- if the operation fails- See Also:
-
runOperation
public void runOperation(org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException Main entry point for Java Model operations. Runs a Java Model Operation as an IWorkspaceRunnable if not read-only.- Throws:
JavaModelException
-
runPostActions
- Throws:
JavaModelException
-
setAttribute
-
setCanceled
public void setCanceled(boolean b) - Specified by:
setCanceledin interfaceorg.eclipse.core.runtime.IProgressMonitor- See Also:
-
setNested
protected void setNested(boolean nested) Sets whether this operation is nested or not.- See Also:
-
setTaskName
- Specified by:
setTaskNamein interfaceorg.eclipse.core.runtime.IProgressMonitor- See Also:
-
subTask
- Specified by:
subTaskin interfaceorg.eclipse.core.runtime.IProgressMonitor- See Also:
-
verify
Returns a status indicating if there is any known reason this operation will fail. Operations are verified before they are run. Subclasses must override if they have any conditions to verify before this operation executes.- See Also:
-
worked
public void worked(int work) - Specified by:
workedin interfaceorg.eclipse.core.runtime.IProgressMonitor- See Also:
-