Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse JDT Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.jdt.core
Interface ISourceManipulation

All Known Subinterfaces:
  ICompilationUnit, IField, IImportDeclaration, IInitializer, IMember, IMethod, IPackageFragment, IType

public interface ISourceManipulation

Common protocol for Java elements that support source code manipulations such as copy, move, rename, and delete.

This interface is not intended to be implemented by clients.

Method Summary
`void` | `copy(IJavaElement container, IJavaElement sibling, String rename, boolean replace, IProgressMonitor monitor)` Copies this element to the given container.
`void` | `delete(boolean force, IProgressMonitor monitor)` Deletes this element, forcing if specified and necessary.
`void` | `move(IJavaElement container, IJavaElement sibling, String rename, boolean replace, IProgressMonitor monitor)` Moves this element to the given container.
`void` | `rename(String name, boolean replace, IProgressMonitor monitor)` Renames this element to the given name.

Method Detail

### copy

    public void copy(IJavaElement container,
                     IJavaElement sibling,
                     String rename,
                     boolean replace,
                     IProgressMonitor monitor)
              throws JavaModelException

  Copies this element to the given container.

  Parameters:
    `container` - the container
    `sibling` - the sibling element before which the copy should be inserted, or `null` if the copy should be inserted as the last child of the container
    `rename` - the new name for the element, or `null` if the copy retains the name of this element
    `replace` - `true` if any existing child in the container with the target name should be replaced, and `false` to throw an exception in the event of a name collision
    `monitor` - 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 as `false`
    - The container or this element is read-only (READ_ONLY)
    `IllegalArgumentException` - if container is `null`

### delete

    public void delete(boolean force,
                       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

    public void move(IJavaElement container,
                     IJavaElement sibling,
                     String rename,
                     boolean replace,
                     IProgressMonitor monitor)
              throws JavaModelException

  Moves this element to the given container.

  Parameters:
    `container` - the container
    `sibling` - the sibling element before which the element should be inserted, or `null` if the element should be inserted as the last child of the container
    `rename` - the new name for the element, or `null` if the element retains its name
    `replace` - `true` if any existing child in the container with the target name should be replaced, and `false` to throw an exception in the event of a name collision
    `monitor` - 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 as `false`
    - The container or this element is read-only (READ_ONLY)
    `IllegalArgumentException` - if container is `null`

### rename

    public void rename(String name,
                       boolean replace,
                       IProgressMonitor monitor)
                throws JavaModelException

  Renames this element to the given name.

  Parameters:
    `name` - the new name for the element
    `replace` - `true` if any existing element with the target name should be replaced, and `false` to throw an exception in the event of a name collision
    `monitor` - 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 as `false`
    - This element is read-only (READ_ONLY)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse JDT Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) IBM Corp. and others 2000, 2004. All Rights Reserved.