org.eclipse.jdt.core.util

## Enum ExternalAnnotationUtil.MergeStrategy

- java.lang.Object
- - java.lang.Enum<ExternalAnnotationUtil.MergeStrategy>
  - - org.eclipse.jdt.core.util.ExternalAnnotationUtil.MergeStrategy

All Implemented Interfaces:
  Serializable, Comparable<ExternalAnnotationUtil.MergeStrategy>

Enclosing class:
  ExternalAnnotationUtil

    public static enum ExternalAnnotationUtil.MergeStrategy
    extends Enum<ExternalAnnotationUtil.MergeStrategy>

Strategy for merging a new signature with an existing (possibly annotated) signature.

### Enum Constant Summary

Enum Constants
Enum Constant and Description
`ADD_ANNOTATIONS` Only add new annotations, never remove or overwrite existing annotations.
`OVERWRITE_ANNOTATIONS` Override existing annotations, keeping old annotations in locations that are not annotated in the new signature.
`REPLACE_SIGNATURE` Unconditionally replace the signature.

### Method Summary

All Methods Static Methods Concrete Methods
`static ExternalAnnotationUtil.MergeStrategy` `valueOf(String name)` Returns the enum constant of this type with the specified name.
`static ExternalAnnotationUtil.MergeStrategy[]` `values()` Returns an array containing the constants of this enum type, in the order they are declared.

### Methods inherited from class java.lang.Enum

`clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`

### Enum Constant Detail

#### REPLACE_SIGNATURE

    public static final ExternalAnnotationUtil.MergeStrategy REPLACE_SIGNATURE

Unconditionally replace the signature.

#### OVERWRITE_ANNOTATIONS

    public static final ExternalAnnotationUtil.MergeStrategy OVERWRITE_ANNOTATIONS

Override existing annotations, keeping old annotations in locations that are not annotated in the new signature.

#### ADD_ANNOTATIONS

    public static final ExternalAnnotationUtil.MergeStrategy ADD_ANNOTATIONS

Only add new annotations, never remove or overwrite existing annotations.

### Method Detail

#### values

    public static ExternalAnnotationUtil.MergeStrategy[] values()

Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

    for (ExternalAnnotationUtil.MergeStrategy c : ExternalAnnotationUtil.MergeStrategy.values())
        System.out.println(c);

Returns:
  an array containing the constants of this enum type, in the order they are declared

#### valueOf

    public static ExternalAnnotationUtil.MergeStrategy valueOf(String name)

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
  `name` - the name of the enum constant to be returned.
Returns:
  the enum constant with the specified name
Throws:
  `IllegalArgumentException` - if this enum type has no constant with the specified name
  `NullPointerException` - if the argument is null