Package aQute.bnd.differ
Class JavaElement
- java.lang.Object
-
- aQute.bnd.differ.JavaElement
-
class JavaElement extends java.lang.ObjectAn element that compares the access field in a binary compatible way. This element is used for classes, methods, constructors, and fields. For that reason we also included the only method that uses this class as a static method.Packages
- MAJOR - Remove a public type
- MINOR - Add a public class
- MINOR - Add an interface
- MINOR - Add a method to a class
- MINOR - Add a method to a provider interface
- MAJOR - Add a method to a consumer interface
- MINOR - Add a field
- MICRO - Add an annotation to a member
- MINOR - Change the value of a constant
- MICRO - -abstract
- MICRO - -final
- MICRO - -protected
- MAJOR - +abstract
- MAJOR - +final
- MAJOR - +protected
-
-
Field Summary
Fields Modifier and Type Field Description private static ElementABSTRACT(package private) Analyzeranalyzer(package private) static ElementBOOLEAN_R(package private) static ElementBYTE_R(package private) java.util.Map<java.lang.Object,Element>cache(package private) static ElementCHAR_R(package private) static ElementDOUBLE_R(package private) Packagesexportsprivate static ElementFINAL(package private) static ElementFLOAT_R(package private) static java.util.EnumSet<Type>INHERITED(package private) java.util.Map<Descriptors.TypeRef,java.lang.Integer>innerAccess(package private) static ElementINT_R(package private) java.util.Set<Clazz.JAVA>javas(package private) static ElementLONG_R(package private) java.util.Set<Descriptors.TypeRef>notAccessible(package private) static ElementOBJECT_R(package private) MultiMap<Descriptors.PackageRef,Element>packagesprivate static ElementPROTECTEDprivate static ElementPROTECTED_PROVIDER(package private) java.util.Map<Descriptors.PackageRef,Instructions>providerMatcher(package private) static ElementSHORT_Rprivate static ElementSTATIC(package private) static ElementVOID_R
-
Constructor Summary
Constructors Constructor Description JavaElement(Analyzer analyzer)Create an element for the API.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static voidaccess(java.util.Collection<Element> children, int access, boolean deprecated, boolean provider)(package private) ElementclassElement(Clazz clazz)Calculate the class element.(package private) static ElementgetAPI(Analyzer analyzer)private ElementgetLocalAPI()private ElementgetReturn(Descriptors.TypeRef type)private java.lang.StringtoString(Descriptors.TypeRef[] prototype)
-
-
-
Field Detail
-
INHERITED
static final java.util.EnumSet<Type> INHERITED
-
PROTECTED
private static final Element PROTECTED
-
PROTECTED_PROVIDER
private static final Element PROTECTED_PROVIDER
-
STATIC
private static final Element STATIC
-
ABSTRACT
private static final Element ABSTRACT
-
FINAL
private static final Element FINAL
-
VOID_R
static final Element VOID_R
-
BOOLEAN_R
static final Element BOOLEAN_R
-
BYTE_R
static final Element BYTE_R
-
SHORT_R
static final Element SHORT_R
-
CHAR_R
static final Element CHAR_R
-
INT_R
static final Element INT_R
-
LONG_R
static final Element LONG_R
-
FLOAT_R
static final Element FLOAT_R
-
DOUBLE_R
static final Element DOUBLE_R
-
OBJECT_R
static final Element OBJECT_R
-
analyzer
final Analyzer analyzer
-
providerMatcher
final java.util.Map<Descriptors.PackageRef,Instructions> providerMatcher
-
innerAccess
final java.util.Map<Descriptors.TypeRef,java.lang.Integer> innerAccess
-
notAccessible
final java.util.Set<Descriptors.TypeRef> notAccessible
-
cache
final java.util.Map<java.lang.Object,Element> cache
-
packages
final MultiMap<Descriptors.PackageRef,Element> packages
-
javas
final java.util.Set<Clazz.JAVA> javas
-
exports
final Packages exports
-
-
Constructor Detail
-
JavaElement
JavaElement(Analyzer analyzer) throws java.lang.Exception
Create an element for the API. We take the exported packages and traverse those for their classes. If there is no manifest or it does not describe a bundle we assume the whole contents is exported.- Throws:
java.lang.Exception
-
-
Method Detail
-
getAPI
static Element getAPI(Analyzer analyzer) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getLocalAPI
private Element getLocalAPI() throws java.lang.Exception
- Throws:
java.lang.Exception
-
classElement
Element classElement(Clazz clazz) throws java.lang.Exception
Calculate the class element. This requires parsing the class file and finding all the methods that were added etc. The parsing will take super interfaces and super classes into account. For this reason it maintains a queue of classes/interfaces to parse.- Throws:
java.lang.Exception
-
toString
private java.lang.String toString(Descriptors.TypeRef[] prototype)
-
getReturn
private Element getReturn(Descriptors.TypeRef type)
-
access
private static void access(java.util.Collection<Element> children, int access, boolean deprecated, boolean provider)
-
-