Package org.eclipse.jdt.core
Interface ISourceManipulation
- All Known Subinterfaces:
ICompilationUnit
,IField
,IImportDeclaration
,IInitializer
,IMember
,IMethod
,IModuleDescription
,IPackageFragment
,IType
public interface ISourceManipulation
Common protocol for Java elements that support source code manipulations such
as copy, move, rename, and delete.
- Restriction:
- This interface is not intended to be implemented by clients.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
copy
(IJavaElement container, IJavaElement sibling, String rename, boolean replace, org.eclipse.core.runtime.IProgressMonitor monitor) Copies this element to the given container.void
delete
(boolean force, org.eclipse.core.runtime.IProgressMonitor monitor) Deletes this element, forcing if specified and necessary.void
move
(IJavaElement container, IJavaElement sibling, String rename, boolean replace, org.eclipse.core.runtime.IProgressMonitor monitor) Moves this element to the given container.void
Renames this element to the given name.
-
Method Details
-
copy
void copy(IJavaElement container, IJavaElement sibling, String rename, boolean replace, org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException Copies this element to the given container.- Parameters:
container
- the containersibling
- the sibling element before which the copy should be inserted, ornull
if the copy should be inserted as the last child of the containerrename
- the new name for the element, ornull
if the copy retains the name of this elementreplace
-true
if any existing child in the container with the target name should be replaced, andfalse
to throw an exception in the event of a name collisionmonitor
- a progress monitor- Throws:
JavaModelException
- if this element could not be copied. Reasons include:- This Java element, container element, or sibling does not exist (ELEMENT_DOES_NOT_EXIST)
- A
CoreException
occurred while updating an underlying resource - The container is of an incompatible type (INVALID_DESTINATION)
- The sibling is not a child of the given container (INVALID_SIBLING)
- The new name is invalid (INVALID_NAME)
- A child in the container already exists with the same name (NAME_COLLISION)
and
replace
has been specified asfalse
- The container or this element is read-only (READ_ONLY)
IllegalArgumentException
- if container isnull
- See Also:
-
delete
void delete(boolean force, org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException Deletes this element, forcing if specified and necessary.- Parameters:
force
- a flag controlling whether underlying resources that are not in sync with the local file system will be tolerated (same as the force flag in IResource operations).monitor
- a progress monitor- Throws:
JavaModelException
- if this element could not be deleted. Reasons include:- This Java element does not exist (ELEMENT_DOES_NOT_EXIST)
- A
CoreException
occurred while updating an underlying resource (CORE_EXCEPTION) - This element is read-only (READ_ONLY)
-
move
void move(IJavaElement container, IJavaElement sibling, String rename, boolean replace, org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException Moves this element to the given container.- Parameters:
container
- the containersibling
- the sibling element before which the element should be inserted, ornull
if the element should be inserted as the last child of the containerrename
- the new name for the element, ornull
if the element retains its namereplace
-true
if any existing child in the container with the target name should be replaced, andfalse
to throw an exception in the event of a name collisionmonitor
- a progress monitor- Throws:
JavaModelException
- if this element could not be moved. Reasons include:- This Java element, container element, or sibling does not exist (ELEMENT_DOES_NOT_EXIST)
- A
CoreException
occurred while updating an underlying resource - The container is of an incompatible type (INVALID_DESTINATION)
- The sibling is not a child of the given container (INVALID_SIBLING)
- The new name is invalid (INVALID_NAME)
- A child in the container already exists with the same name (NAME_COLLISION)
and
replace
has been specified asfalse
- The container or this element is read-only (READ_ONLY)
IllegalArgumentException
- if container isnull
- See Also:
-
rename
void rename(String name, boolean replace, org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException Renames this element to the given name.- Parameters:
name
- the new name for the elementreplace
-true
if any existing element with the target name should be replaced, andfalse
to throw an exception in the event of a name collisionmonitor
- a progress monitor- Throws:
JavaModelException
- if this element could not be renamed. Reasons include:- This Java element does not exist (ELEMENT_DOES_NOT_EXIST)
- A
CoreException
occurred while updating an underlying resource - The new name is invalid (INVALID_NAME)
- A child in the container already exists with the same name (NAME_COLLISION)
and
replace
has been specified asfalse
- This element is read-only (READ_ONLY)
-