blob: 04f7381a134e648df6c48590a00d07f37443dbff [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2007, 2015 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.pde.api.tools.internal.provisional.comparator;
import org.eclipse.pde.api.tools.internal.provisional.model.IApiComponent;
/**
* Interface that represents a delta. This interface is not intended to be
* implemented or extended by the client.
*/
public interface IDelta {
/**
* Status constant indicating that the element has been added.
*/
public int ADDED = 1;
/**
* Status constant indicating that the element has been changed, as
* described by the change flags.
*
* @see #getFlags()
*/
public int CHANGED = 2;
/**
* Status constant indicating that the element has been removed.
*/
public int REMOVED = 3;
/**
* Element type constant indicating that the delta is reported against an
* annotation type declaration.
*
* @see #getElementType()
*/
public static final int ANNOTATION_ELEMENT_TYPE = 1;
/**
* Element type constant indicating that the delta is reported against an
* API component.
*
* @see #getElementType()
*/
public static final int API_COMPONENT_ELEMENT_TYPE = 2;
/**
* Element type constant indicating that the delta is reported against an
* API baseline.
*
* @see #getElementType()
*/
public static final int API_BASELINE_ELEMENT_TYPE = 3;
/**
* Element type constant indicating that the delta is reported against a
* class type declaration.
*
* @see #getElementType()
*/
public static final int CLASS_ELEMENT_TYPE = 4;
/**
* Element type constant indicating that the delta is reported against a
* constructor declaration.
*
* @see #getElementType()
*/
public static final int CONSTRUCTOR_ELEMENT_TYPE = 5;
/**
* Element type constant indicating that the delta is reported against an
* enum type declaration.
*
* @see #getElementType()
*/
public static final int ENUM_ELEMENT_TYPE = 6;
/**
* Element type constant indicating that the delta is reported against a
* field declaration.
*
* @see #getElementType()
*/
public static final int FIELD_ELEMENT_TYPE = 7;
/**
* Element type constant indicating that the delta is reported against an
* interface type declaration.
*
* @see #getElementType()
*/
public static final int INTERFACE_ELEMENT_TYPE = 8;
/**
* Element type constant indicating that the delta is reported against a
* method declaration.
*
* @see #getElementType()
*/
public static final int METHOD_ELEMENT_TYPE = 9;
/**
* Element type constant indicating that the delta is reported against a
* type parameter.
*
* @see #getElementType()
*/
public static final int TYPE_PARAMETER_ELEMENT_TYPE = 10;
/**
* Delta kind flag that denotes removing the abstract keyword from a member. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int ABSTRACT_TO_NON_ABSTRACT = 1;
/**
* Delta kind flag that denotes the default value of an annotation. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #CHANGED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int ANNOTATION_DEFAULT_VALUE = 2;
/**
* Delta kind flag that denotes an {@link IApiComponent}. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int API_COMPONENT = 3;
/**
* Delta kind flag that denotes changing an array of objects to a Java 1.5
* varargs. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int ARRAY_TO_VARARGS = 4;
/**
* Delta kind flag that denotes a checked exception. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int CHECKED_EXCEPTION = 5;
/**
* Delta kind flag that denotes a Java 1.5 generics class bound. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #CHANGED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int CLASS_BOUND = 6;
/**
* Delta kind flag that denotes a static initializer. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #CHANGED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int CLINIT = 7;
/**
* Delta kind flag that denotes a constructor. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int CONSTRUCTOR = 8;
/**
* Delta kind flag that denotes an interface in the super-interface set has
* been removed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int CONTRACTED_SUPERINTERFACES_SET = 10;
/**
* Delta kind flag that denotes decreasing the access of a member. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int DECREASE_ACCESS = 11;
/**
* Delta kind flag that denotes a constant value enum. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int ENUM_CONSTANT = 12;
/**
* Delta kind flag that denotes and execution environment. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int EXECUTION_ENVIRONMENT = 13;
/**
* Delta kind flag that denotes an interface has been added to the current
* set of super-interfaces. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int EXPANDED_SUPERINTERFACES_SET = 15;
/**
* Delta kind flag that denotes a field has been added or removed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int FIELD = 16;
/**
* Delta kind flag that denotes a field has been moved up the current
* super-class hierarchy. <br>
* Applies to kinds:
* <ul>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int FIELD_MOVED_UP = 17;
/**
* Delta kind flag that denotes the final keyword has been removed from a
* member. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int FINAL_TO_NON_FINAL = 18;
/**
* Delta kind flag that denotes that the final keyword has been removed from
* a static member. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int FINAL_TO_NON_FINAL_NON_STATIC = 19;
/**
* Delta kind flag that denotes the final keyword has been removed from a
* constant field. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int FINAL_TO_NON_FINAL_STATIC_CONSTANT = 20;
/**
* Delta kind flag that denotes the final keyword has been removed from a
* non-constant field. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int FINAL_TO_NON_FINAL_STATIC_NON_CONSTANT = 21;
/**
* Delta kind flag that denotes the access to a member has been increased. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int INCREASE_ACCESS = 22;
/**
* Delta kind flag that denotes a Java 1.5 interface bound has been changed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #CHANGED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int INTERFACE_BOUND = 23;
/**
* Delta kind flag that denotes a method has been added or removed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int METHOD = 25;
/**
* Delta kind flag that denotes a method has moved up the super-class
* hierarchy. <br>
* Applies to kinds:
* <ul>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int METHOD_MOVED_UP = 26;
/**
* Delta kind flag that denotes a method with a default value has been added
* or removed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int METHOD_WITH_DEFAULT_VALUE = 27;
/**
* Delta kind flag that denotes a method without a default value has been
* added or removed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int METHOD_WITHOUT_DEFAULT_VALUE = 28;
/**
* Delta kind flag that denotes the native keyword has been removed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int NATIVE_TO_NON_NATIVE = 29;
/**
* Delta kind flag that denotes the abstract keyword has been added. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int NON_ABSTRACT_TO_ABSTRACT = 30;
/**
* Delta kind flag that denotes the final keyword has been added. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int NON_FINAL_TO_FINAL = 31;
/**
* Delta kind flag that denotes the native keyword has been added. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int NON_NATIVE_TO_NATIVE = 32;
/**
* Delta kind flag that denotes the static keyword has been added. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int NON_STATIC_TO_STATIC = 33;
/**
* Delta kind flag that denotes the synchronized keyword has been added. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int NON_SYNCHRONIZED_TO_SYNCHRONIZED = 34;
/**
* Delta kind flag that denotes the transient keyword has been added. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int NON_TRANSIENT_TO_TRANSIENT = 35;
/**
* Delta kind flag that denotes a method addition that is overriding a
* method from a superclass <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int OVERRIDEN_METHOD = 36;
/**
* Delta kind flag that denotes API restrictions on a member have been
* added. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int RESTRICTIONS = 37;
/**
* Delta kind flag that denotes the static keyword has been removed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int STATIC_TO_NON_STATIC = 38;
/**
* Delta kind flag that denotes a super-class has been added, or removed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int SUPERCLASS = 39;
/**
* Delta kind flag that denotes the synchronized keyword has been removed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int SYNCHRONIZED_TO_NON_SYNCHRONIZED = 40;
/**
* Delta kind flag that denotes a type has been converted to a different
* kind. For example, from a class to an annotation. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int TYPE_CONVERSION = 41;
/**
* Delta kind flag that denotes the transient keyword has been removed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int TRANSIENT_TO_NON_TRANSIENT = 45;
/**
* Delta kind flag that denotes a type has changed in some way. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #CHANGED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int TYPE = 46;
/**
* Delta kind flag that denotes type arguments have been added or removed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int TYPE_ARGUMENTS = 47;
/**
* Delta kind flag that denotes a type member has been added or removed from
* a type. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int TYPE_MEMBER = 48;
/**
* Delta kind flag that denotes a type parameter has been added or removed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int TYPE_PARAMETER = 49;
/**
* Delta kind flag that a type parameter name has changed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int TYPE_PARAMETER_NAME = 50;
/**
* Delta kind flag that denotes type parameters have been added to a type
* that didn't have type parameters before. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int TYPE_PARAMETERS = 51;
/**
* Delta kind flag that denotes the visibility of a type has changed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int TYPE_VISIBILITY = 52;
/**
* Delta kind flag that denotes an unchecked exception has been added or
* removed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int UNCHECKED_EXCEPTION = 53;
/**
* Delta kind flag that denotes the value of a member has changed in some
* way. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #CHANGED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int VALUE = 54;
/**
* Delta kind flag that denotes changing a Java 1.5 varargs to an array of
* {@link Object}s. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int VARARGS_TO_ARRAY = 55;
/**
* Delta kind flag that denotes changing the visibility of a type from
* VisibilityModifiers.API to another visibility. As a consequence, the
* corresponding type is no longer an API type. <br>
* Applies to kinds:
* <ul>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int API_TYPE = 56;
/**
* Delta kind flag that denotes the volatile keyword has been added. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int NON_VOLATILE_TO_VOLATILE = 57;
/**
* Delta kind flag that denotes the volatile keyword has been removed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int VOLATILE_TO_NON_VOLATILE = 58;
/**
* Delta kind flag that denotes changing the major version of a bundle. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int MAJOR_VERSION = 59;
/**
* Delta kind flag that denotes changing the minor version of a bundle. <br>
* Applies to kinds:
* <ul>
* <li>{@link #CHANGED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int MINOR_VERSION = 60;
/**
* Delta kind flag that denotes adding @noreference restrictions to an API
* field. As a consequence, the corresponding field is no longer an API
* field. <br>
* Applies to kinds:
* <ul>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int API_FIELD = 61;
/**
* Delta kind flag that denotes adding @noreference restrictions to an API
* method. As a consequence, the corresponding method is no longer an API
* method. <br>
* Applies to kinds:
* <ul>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int API_METHOD = 62;
/**
* Delta kind flag that denotes adding @noreference restrictions to an API
* constructor. As a consequence, the corresponding constructor is no longer
* an API constructor. <br>
* Applies to kinds:
* <ul>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int API_CONSTRUCTOR = 63;
/**
* Delta kind flag that denotes adding @noreference restrictions to an API
* enum constant. As a consequence, the corresponding enum constant is no
* longer an API enum constant. <br>
* Applies to kinds:
* <ul>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int API_ENUM_CONSTANT = 64;
/**
* Delta kind flag that denotes adding @noreference restrictions to an API
* enum constant. As a consequence, the corresponding enum constant is no
* longer an API enum constant. <br>
* Applies to kinds:
* <ul>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int API_METHOD_WITH_DEFAULT_VALUE = 65;
/**
* Delta kind flag that denotes adding @noreference restrictions to an API
* enum constant. As a consequence, the corresponding enum constant is no
* longer an API enum constant. <br>
* Applies to kinds:
* <ul>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int API_METHOD_WITHOUT_DEFAULT_VALUE = 66;
/**
* Delta kind flag that denotes a method has moved down in the type
* hierarchy. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int METHOD_MOVED_DOWN = 67;
/**
* Delta kind flag that denotes that a type argument has been added or
* removed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #CHANGED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int TYPE_ARGUMENT = 68;
/**
* Delta kind flag that denotes that an interface got a super interface with
* methods. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int SUPER_INTERFACE_WITH_METHODS = 69;
/**
* Delta kind flag that denotes a re-exported type has been added or
* removed. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int REEXPORTED_TYPE = 70;
/**
* Delta kind flag that denotes changing the visibility of a re-exported
* type from VisibilityModifiers.API to another visibility. As a
* consequence, the corresponding re-exported type is no longer an API type. <br>
* Applies to kinds:
* <ul>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int REEXPORTED_API_TYPE = 71;
/**
* Delta kind flag that denotes adding or removing the deprecated modifiers
* on the corresponding element. <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int DEPRECATION = 72;
/**
* Delta kind flag that denotes a default method has been added or removed.
* <br>
* Applies to kinds:
* <ul>
* <li>{@link #ADDED}</li>
* <li>{@link #REMOVED}</li>
* </ul>
*
* @see #getFlags()
*/
public static final int DEFAULT_METHOD = 73;
/**
* Return true if the receiver has no children deltas, false otherwise.
*
* @return true if the receiver has no children deltas, false otherwise.
*/
public boolean isEmpty();
/**
* Returns the key of this delta.
*
* @return the key of this delta
*/
public String getKey();
/**
* Returns the kind of this delta that describe how an element has changed.
*
* @return the kind of this delta that describe how an element has changed
*/
public int getKind();
/**
* Returns flags that describe how an element has changed.
*
* @return flags that describe how an element has changed
*/
public int getFlags();
/**
* Returns the type of the element on which a delta occurred. Any of
* {@link IDelta#ANNOTATION_ELEMENT_TYPE}, {@link IDelta#ENUM_ELEMENT_TYPE},
* {@link IDelta#CONSTRUCTOR_ELEMENT_TYPE},
* {@link IDelta#METHOD_ELEMENT_TYPE}, {@link IDelta#INTERFACE_ELEMENT_TYPE}
* , {@link IDelta#CLASS_ELEMENT_TYPE}, {@link IDelta#FIELD_ELEMENT_TYPE},
* {@link IDelta#API_COMPONENT_ELEMENT_TYPE} and
* {@link IDelta#API_PROFILE_ELEMENT_TYPE}.
*
* @return flags that describe how an element has changed
*/
public int getElementType();
/**
* Returns the children of the receiver. Return an empty list if none
*
* @return children of the receiver
*/
public IDelta[] getChildren();
/**
* Traverse the given delta and apply the visitor
*
* @param visitor the given delta visitor
*/
public void accept(DeltaVisitor visitor);
/**
* Returns the type name against which the delta is returned.
*
* @return the type name against which the delta is returned.
*/
public String getTypeName();
/**
* Returns the delta's description. This can be used as an error message.
* The message is returned in the current locale.
*
* @return the delta's description
*/
public String getMessage();
/**
* Returns the set of arguments that can be used to compose NLS'd messages.
* These arguments will typically be type, method and field names.
*
* @return the set of arguments to compose NLS'd messages
*/
public String[] getArguments();
/**
* Returns the delta's current restrictions.
*
* @return the delta's current restrictions
*/
public int getCurrentRestrictions();
/**
* Returns the delta's previous restrictions.
*
* @return the delta's previous restrictions
*/
public int getPreviousRestrictions();
/**
* Returns the delta's new modifiers. This corresponds to the new modifiers
* of the affected element. by the delta.
*
* @return the delta's new modifiers
*/
public int getNewModifiers();
/**
* Returns the delta's old modifiers. This corresponds to the old modifiers
* of the affected element. by the delta.
*
* @return the delta's old modifiers
*/
public int getOldModifiers();
/**
* Returns the component identifier including its version identifier in
* which the given delta is reported, or <code>null</code>. Can be
* <code>null</code> if the delta is reported against an API profile.
*
* @return the component id in which the given delta is reported, or
* <code>null</code> if none
*/
public String getComponentVersionId();
/**
* Returns the component identifier without its version identifier in which
* the given delta is reported, or <code>null</code>. Can be
* <code>null</code> if the delta is reported against an API profile.
*
* @return the component id in which the given delta is reported, or
* <code>null</code> if none
*/
public String getComponentId();
}