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 JApiJavaObjectSerializationCompatibility
JApiJavaObjectSerializationCompatibility.JApiJavaObjectSerializationChangeStatus -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final JApiModifier<AbstractModifier> private final JApiModifier<AccessModifier> private final List<JApiAnnotation> private booleanprivate final JApiChangeStatusprivate final JApiClassFileFormatVersionprivate final JApiClassTypeprivate final List<JApiCompatibilityChange> private final List<JApiConstructor> private final JApiModifier<FinalModifier> private final Stringprivate final List<JApiImplementedInterface> private final JApiSerialVersionUidprivate final JarArchiveComparatorprivate final List<JApiMethod> private final Optional<javassist.CtClass> private final Optional<javassist.CtClass> private final JarArchiveComparatorOptionsprivate final JApiModifier<StaticModifier> private final JApiSuperclassprivate 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 voidaddParametersToMethod(MethodDescriptorParser methodDescriptorParser, JApiBehavior jApiMethod) buildFieldMap(javassist.CtClass ctClass) private voidbuildInterfaceMap(JarArchiveComparator.ArchiveType archiveType, Map<String, javassist.CtClass> map, javassist.CtClass ctInterface) buildInterfaceMap(javassist.CtClass ctClass, JarArchiveComparator.ArchiveType archiveType) private voidbuildInterfaceMap(javassist.CtClass ctClass, JarArchiveComparator.ArchiveType archiveType, Map<String, javassist.CtClass> map) private voidcomputeAnnotationChanges(List<JApiAnnotation> annotations, Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) private voidcomputeFieldChanges(List<JApiField> fields, Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) private voidcomputeInterfaceChanges(List<JApiImplementedInterface> interfacesArg, Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) private voidcomputeMethodChanges(JApiClass jApiClass, Optional<javassist.CtClass> oldClassOptional, Optional<javassist.CtClass> newClassOptional) createConstructorMap(Optional<javassist.CtClass> ctClass) createMethodMap(Optional<javassist.CtClass> ctClassOptional) private JApiChangeStatusevaluateChangeStatus(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 JApiClassFileFormatVersionextractClassFileFormatVersion(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 JApiSuperclassextractSuperclass(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 theJApiSerialVersionUidReturns the static modifier.private Optional<javassist.CtClass> getSuperclass(javassist.CtClass ctClass) Returns the synthetic modifier.private booleanincludeConstructor(JApiConstructor jApiConstructor) private booleanincludeField(JApiField jApiField) private booleanincludeMethod(JApiMethod jApiMethod) booleanReturns true if this element has changed binary compatible.booleanbooleanReturns true if this element has changed source compatible.(package private) voidsetJavaObjectSerializationCompatible(JApiJavaObjectSerializationCompatibility.JApiJavaObjectSerializationChangeStatus jApiJavaObjectSerializationChangeStatus) private voidsortConstructorsIntoLists(JApiClass jApiClass, Map<String, javassist.CtConstructor> oldConstructorsMap, Map<String, javassist.CtConstructor> newConstructorsMap) private voidsortMethodsIntoLists(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:JApiJavaObjectSerializationCompatibilityReturns if this class is serializable and if it has changed in a compatible or incompatible way.- Specified by:
getJavaObjectSerializationCompatiblein interfaceJApiJavaObjectSerializationCompatibility- Returns:
- the type of change
-
getJavaObjectSerializationCompatibleAsString
-
getSerialVersionUid
Description copied from interface:JApiJavaObjectSerializationCompatibilityReturns theJApiSerialVersionUid- Specified by:
getSerialVersionUidin interfaceJApiJavaObjectSerializationCompatibility- Returns:
- the serialVersionUID
-
setJavaObjectSerializationCompatible
void setJavaObjectSerializationCompatible(JApiJavaObjectSerializationCompatibility.JApiJavaObjectSerializationChangeStatus jApiJavaObjectSerializationChangeStatus) -
getChangeStatus
Description copied from interface:JApiHasChangeStatusReturns the change status of this element.- Specified by:
getChangeStatusin interfaceJApiHasChangeStatus- Returns:
- the change status of this element
-
getFullyQualifiedName
-
getNewClass
-
getOldClass
-
getModifiers
Description copied from interface:JApiHasModifiersReturns a list of modifiers.- Specified by:
getModifiersin interfaceJApiHasModifiers- Returns:
- a list of modifiers
-
getSuperclass
-
getInterfaces
-
getConstructors
-
getMethods
-
getFields
-
getClassType
-
getFinalModifier
Description copied from interface:JApiHasFinalModifierReturns the final modifier.- Specified by:
getFinalModifierin interfaceJApiHasFinalModifier- Returns:
- the final modifier
-
getStaticModifier
Description copied from interface:JApiHasStaticModifierReturns the static modifier.- Specified by:
getStaticModifierin interfaceJApiHasStaticModifier- Returns:
- the static modifier
-
getAccessModifier
Description copied from interface:JApiHasAccessModifierReturns the access modifier.- Specified by:
getAccessModifierin interfaceJApiHasAccessModifier- Returns:
- the access modifier
-
getAbstractModifier
Description copied from interface:JApiHasAbstractModifierReturns the abstract modifier.- Specified by:
getAbstractModifierin interfaceJApiHasAbstractModifier- Returns:
- the abstract modifier
-
getSyntheticModifier
Description copied from interface:JApiHasSyntheticModifierReturns the synthetic modifier.- Specified by:
getSyntheticModifierin interfaceJApiHasSyntheticModifier- Returns:
- the synthetic modifier
-
getSyntheticAttribute
- Specified by:
getSyntheticAttributein interfaceJApiHasSyntheticAttribute
-
getAttributes
-
isBinaryCompatible
public boolean isBinaryCompatible()Description copied from interface:JApiCompatibilityReturns true if this element has changed binary compatible.- Specified by:
isBinaryCompatiblein interfaceJApiCompatibility- Returns:
- true if this element has changed binary compatible
-
isSourceCompatible
public boolean isSourceCompatible()Description copied from interface:JApiCompatibilityReturns true if this element has changed source compatible.- Specified by:
isSourceCompatiblein interfaceJApiCompatibility- Returns:
- true if this element has changed source compatible
-
getAnnotations
Description copied from interface:JApiHasAnnotationsReturns a list of annotations asJApiAnnotation.- Specified by:
getAnnotationsin interfaceJApiHasAnnotations- Returns:
- a list of annotations as
JApiAnnotation
-
isChangeCausedByClassElement
public boolean isChangeCausedByClassElement() -
getCompatibilityChanges
Description copied from interface:JApiCompatibilityReturns all compatibility changes.- Specified by:
getCompatibilityChangesin interfaceJApiCompatibility- Returns:
- a list of compatibility changes
-
getClassFileFormatVersion
-
toString
-