Package japicmp.model
Class JApiClass
java.lang.Object
japicmp.model.JApiClass
- All Implemented Interfaces:
JApiCanBeSynthetic
,JApiCompatibility
,JApiHasAbstractModifier
,JApiHasAccessModifier
,JApiHasAnnotations
,JApiHasChangeStatus
,JApiHasFinalModifier
,JApiHasModifiers
,JApiHasStaticModifier
,JApiHasSyntheticAttribute
,JApiHasSyntheticModifier
,JApiJavaObjectSerializationCompatibility
public class JApiClass
extends Object
implements JApiHasModifiers, JApiHasChangeStatus, JApiHasAccessModifier, JApiHasStaticModifier, JApiHasFinalModifier, JApiHasAbstractModifier, JApiCompatibility, JApiHasAnnotations, JApiJavaObjectSerializationCompatibility, JApiCanBeSynthetic
-
Nested Class Summary
Nested classes/interfaces inherited from interface japicmp.model.JApiJavaObjectSerializationCompatibility
JApiJavaObjectSerializationCompatibility.JApiJavaObjectSerializationChangeStatus
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final JApiModifier
<AbstractModifier> private final JApiModifier
<AccessModifier> private final List
<JApiAnnotation> private boolean
private final JApiChangeStatus
private final JApiClassFileFormatVersion
private final JApiClassType
private final List
<JApiCompatibilityChange> private final List
<JApiConstructor> private final JApiModifier
<FinalModifier> private final String
private final List
<JApiImplementedInterface> private final JApiSerialVersionUid
private final JarArchiveComparator
private final List
<JApiMethod> private final Optional
<javassist.CtClass> private final Optional
<javassist.CtClass> private final JarArchiveComparatorOptions
private final JApiModifier
<StaticModifier> private final JApiSuperclass
private final JApiAttribute
<SyntheticAttribute> private final JApiModifier
<SyntheticModifier> -
Constructor Summary
ConstructorsConstructorDescriptionJApiClass
(JarArchiveComparator jarArchiveComparator, String fullyQualifiedName, Optional<javassist.CtClass> oldClass, Optional<javassist.CtClass> newClass, JApiChangeStatus changeStatus, JApiClassType classType) -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addParametersToMethod
(MethodDescriptorParser methodDescriptorParser, JApiBehavior jApiMethod) buildFieldMap
(javassist.CtClass ctClass) private void
buildInterfaceMap
(JarArchiveComparator.ArchiveType archiveType, Map<String, javassist.CtClass> map, javassist.CtClass ctInterface) buildInterfaceMap
(javassist.CtClass ctClass, JarArchiveComparator.ArchiveType archiveType) private void
buildInterfaceMap
(javassist.CtClass ctClass, JarArchiveComparator.ArchiveType archiveType, Map<String, javassist.CtClass> map) private void
computeAnnotationChanges
(List<JApiAnnotation> annotations, Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) private void
computeFieldChanges
(List<JApiField> fields, Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) private void
computeInterfaceChanges
(List<JApiImplementedInterface> interfacesArg, Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) private void
computeMethodChanges
(JApiClass jApiClass, Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) createConstructorMap
(Optional<javassist.CtClass> ctClass) createMethodMap
(Optional<javassist.CtClass> ctClassOptional) private JApiChangeStatus
evaluateChangeStatus
(JApiChangeStatus changeStatus) private JApiModifier
<AbstractModifier> extractAbstractModifier
(Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) private JApiModifier
<AccessModifier> extractAccessModifier
(Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) private JApiClassFileFormatVersion
extractClassFileFormatVersion
(Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) private JApiModifier
<FinalModifier> extractFinalModifier
(Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) private JApiModifier
<StaticModifier> extractStaticModifier
(Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) private JApiSuperclass
extractSuperclass
(Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) private JApiAttribute
<SyntheticAttribute> extractSyntheticAttribute
(Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) private JApiModifier
<SyntheticModifier> extractSyntheticModifier
(Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) private Optional
<javassist.CtMethod> findMatchingMethod
(javassist.CtMethod method, List<javassist.CtMethod> candidates) Returns the abstract modifier.Returns the access modifier.Returns a list of annotations asJApiAnnotation
.List
<JApiAttribute<? extends Enum<?>>> Returns the change status of this element.Returns all compatibility changes.Returns the final modifier.Returns if this class is serializable and if it has changed in a compatible or incompatible way.List
<? extends JApiModifier<? extends Enum<? extends Enum<?>>>> Returns a list of modifiers.Optional
<javassist.CtClass> Optional
<javassist.CtClass> Returns theJApiSerialVersionUid
Returns the static modifier.private Optional
<javassist.CtClass> getSuperclass
(javassist.CtClass ctClass) Returns the synthetic modifier.private boolean
includeConstructor
(JApiConstructor jApiConstructor) private boolean
includeField
(JApiField jApiField) private boolean
includeMethod
(JApiMethod jApiMethod) boolean
Returns true if this element has changed binary compatible.boolean
boolean
Returns true if this element has changed source compatible.(package private) void
setJavaObjectSerializationCompatible
(JApiJavaObjectSerializationCompatibility.JApiJavaObjectSerializationChangeStatus jApiJavaObjectSerializationChangeStatus) private void
sortConstructorsIntoLists
(JApiClass jApiClass, Map<String, javassist.CtConstructor> oldConstructorsMap, Map<String, javassist.CtConstructor> newConstructorsMap) private void
sortMethodsIntoLists
(JApiClass jApiClass, Map<String, List<javassist.CtMethod>> oldMethodsMap, Map<String, List<javassist.CtMethod>> newMethodsMap) toString()
-
Field Details
-
jarArchiveComparator
-
fullyQualifiedName
-
classType
-
options
-
oldClass
-
newClass
-
changeStatus
-
superclass
-
interfaces
-
fields
-
constructors
-
methods
-
annotations
-
accessModifier
-
finalModifier
-
staticModifier
-
abstractModifier
-
syntheticModifier
-
syntheticAttribute
-
compatibilityChanges
-
jApiSerialVersionUid
-
classFileFormatVersion
-
changeCausedByClassElement
private boolean changeCausedByClassElement -
jApiJavaObjectSerializationChangeStatus
private JApiJavaObjectSerializationCompatibility.JApiJavaObjectSerializationChangeStatus jApiJavaObjectSerializationChangeStatus
-
-
Constructor Details
-
JApiClass
public JApiClass(JarArchiveComparator jarArchiveComparator, String fullyQualifiedName, Optional<javassist.CtClass> oldClass, Optional<javassist.CtClass> newClass, JApiChangeStatus changeStatus, JApiClassType classType)
-
-
Method Details
-
extractClassFileFormatVersion
private JApiClassFileFormatVersion extractClassFileFormatVersion(Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) -
computeAnnotationChanges
private void computeAnnotationChanges(List<JApiAnnotation> annotations, Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) -
extractSyntheticAttribute
private JApiAttribute<SyntheticAttribute> extractSyntheticAttribute(Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) -
computeFieldChanges
-
includeField
-
buildFieldMap
-
extractSuperclass
private JApiSuperclass extractSuperclass(Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) -
getSuperclass
-
computeInterfaceChanges
private void computeInterfaceChanges(List<JApiImplementedInterface> interfacesArg, Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) -
buildInterfaceMap
private Map<String,javassist.CtClass> buildInterfaceMap(javassist.CtClass ctClass, JarArchiveComparator.ArchiveType archiveType) -
buildInterfaceMap
private void buildInterfaceMap(javassist.CtClass ctClass, JarArchiveComparator.ArchiveType archiveType, Map<String, javassist.CtClass> map) -
buildInterfaceMap
private void buildInterfaceMap(JarArchiveComparator.ArchiveType archiveType, Map<String, javassist.CtClass> map, javassist.CtClass ctInterface) throws javassist.NotFoundException- Throws:
javassist.NotFoundException
-
computeMethodChanges
-
sortMethodsIntoLists
-
findMatchingMethod
-
includeMethod
-
sortConstructorsIntoLists
-
includeConstructor
-
addParametersToMethod
private void addParametersToMethod(MethodDescriptorParser methodDescriptorParser, JApiBehavior jApiMethod) -
createMethodMap
-
createConstructorMap
-
evaluateChangeStatus
-
extractStaticModifier
private JApiModifier<StaticModifier> extractStaticModifier(Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) -
extractFinalModifier
private JApiModifier<FinalModifier> extractFinalModifier(Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) -
extractAccessModifier
private JApiModifier<AccessModifier> extractAccessModifier(Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) -
extractAbstractModifier
private JApiModifier<AbstractModifier> extractAbstractModifier(Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) -
extractSyntheticModifier
private JApiModifier<SyntheticModifier> extractSyntheticModifier(Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) -
getJavaObjectSerializationCompatible
public JApiJavaObjectSerializationCompatibility.JApiJavaObjectSerializationChangeStatus getJavaObjectSerializationCompatible()Description copied from interface:JApiJavaObjectSerializationCompatibility
Returns if this class is serializable and if it has changed in a compatible or incompatible way.- Specified by:
getJavaObjectSerializationCompatible
in interfaceJApiJavaObjectSerializationCompatibility
- Returns:
- the type of change
-
getJavaObjectSerializationCompatibleAsString
-
getSerialVersionUid
Description copied from interface:JApiJavaObjectSerializationCompatibility
Returns theJApiSerialVersionUid
- Specified by:
getSerialVersionUid
in interfaceJApiJavaObjectSerializationCompatibility
- Returns:
- the serialVersionUID
-
setJavaObjectSerializationCompatible
void setJavaObjectSerializationCompatible(JApiJavaObjectSerializationCompatibility.JApiJavaObjectSerializationChangeStatus jApiJavaObjectSerializationChangeStatus) -
getChangeStatus
Description copied from interface:JApiHasChangeStatus
Returns the change status of this element.- Specified by:
getChangeStatus
in interfaceJApiHasChangeStatus
- Returns:
- the change status of this element
-
getFullyQualifiedName
-
getNewClass
-
getOldClass
-
getModifiers
Description copied from interface:JApiHasModifiers
Returns a list of modifiers.- Specified by:
getModifiers
in interfaceJApiHasModifiers
- Returns:
- a list of modifiers
-
getSuperclass
-
getInterfaces
-
getConstructors
-
getMethods
-
getFields
-
getClassType
-
getFinalModifier
Description copied from interface:JApiHasFinalModifier
Returns the final modifier.- Specified by:
getFinalModifier
in interfaceJApiHasFinalModifier
- Returns:
- the final modifier
-
getStaticModifier
Description copied from interface:JApiHasStaticModifier
Returns the static modifier.- Specified by:
getStaticModifier
in interfaceJApiHasStaticModifier
- Returns:
- the static modifier
-
getAccessModifier
Description copied from interface:JApiHasAccessModifier
Returns the access modifier.- Specified by:
getAccessModifier
in interfaceJApiHasAccessModifier
- Returns:
- the access modifier
-
getAbstractModifier
Description copied from interface:JApiHasAbstractModifier
Returns the abstract modifier.- Specified by:
getAbstractModifier
in interfaceJApiHasAbstractModifier
- Returns:
- the abstract modifier
-
getSyntheticModifier
Description copied from interface:JApiHasSyntheticModifier
Returns the synthetic modifier.- Specified by:
getSyntheticModifier
in interfaceJApiHasSyntheticModifier
- Returns:
- the synthetic modifier
-
getSyntheticAttribute
- Specified by:
getSyntheticAttribute
in interfaceJApiHasSyntheticAttribute
-
getAttributes
-
isBinaryCompatible
public boolean isBinaryCompatible()Description copied from interface:JApiCompatibility
Returns true if this element has changed binary compatible.- Specified by:
isBinaryCompatible
in interfaceJApiCompatibility
- Returns:
- true if this element has changed binary compatible
-
isSourceCompatible
public boolean isSourceCompatible()Description copied from interface:JApiCompatibility
Returns true if this element has changed source compatible.- Specified by:
isSourceCompatible
in interfaceJApiCompatibility
- Returns:
- true if this element has changed source compatible
-
getAnnotations
Description copied from interface:JApiHasAnnotations
Returns a list of annotations asJApiAnnotation
.- Specified by:
getAnnotations
in interfaceJApiHasAnnotations
- Returns:
- a list of annotations as
JApiAnnotation
-
isChangeCausedByClassElement
public boolean isChangeCausedByClassElement() -
getCompatibilityChanges
Description copied from interface:JApiCompatibility
Returns all compatibility changes.- Specified by:
getCompatibilityChanges
in interfaceJApiCompatibility
- Returns:
- a list of compatibility changes
-
getClassFileFormatVersion
-
toString
-