Package japicmp.model
Class JApiBehavior
- java.lang.Object
-
- japicmp.model.JApiBehavior
-
- All Implemented Interfaces:
JApiCanBeSynthetic
,JApiCompatibility
,JApiHasAbstractModifier
,JApiHasAccessModifier
,JApiHasAnnotations
,JApiHasBridgeModifier
,JApiHasChangeStatus
,JApiHasFinalModifier
,JApiHasLineNumber
,JApiHasModifiers
,JApiHasStaticModifier
,JApiHasSyntheticAttribute
,JApiHasSyntheticModifier
- Direct Known Subclasses:
JApiConstructor
,JApiMethod
public class JApiBehavior extends java.lang.Object implements JApiHasModifiers, JApiHasChangeStatus, JApiHasAccessModifier, JApiHasStaticModifier, JApiHasFinalModifier, JApiHasAbstractModifier, JApiCompatibility, JApiHasAnnotations, JApiHasBridgeModifier, JApiCanBeSynthetic, JApiHasLineNumber
-
-
Field Summary
Fields Modifier and Type Field Description private JApiModifier<AbstractModifier>
abstractModifier
private JApiModifier<AccessModifier>
accessModifier
private java.util.List<JApiAnnotation>
annotations
private JApiModifier<BridgeModifier>
bridgeModifier
protected JApiChangeStatus
changeStatus
private java.util.List<JApiCompatibilityChange>
compatibilityChanges
private java.util.List<JApiException>
exceptions
private JApiModifier<FinalModifier>
finalModifier
private JApiClass
jApiClass
private JarArchiveComparator
jarArchiveComparator
private java.lang.String
name
private Optional<java.lang.Integer>
newLineNumber
private Optional<java.lang.Integer>
oldLineNumber
private java.util.List<JApiParameter>
parameters
private JApiModifier<StaticModifier>
staticModifier
private JApiAttribute<SyntheticAttribute>
syntheticAttribute
private JApiModifier<SyntheticModifier>
syntheticModifier
-
Constructor Summary
Constructors Constructor Description JApiBehavior(JApiClass jApiClass, java.lang.String name, Optional<? extends javassist.CtBehavior> oldBehavior, Optional<? extends javassist.CtBehavior> newBehavior, JApiChangeStatus changeStatus, JarArchiveComparator jarArchiveComparator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addParameter(JApiParameter jApiParameter)
private void
computeAnnotationChanges(java.util.List<JApiAnnotation> annotations, Optional<? extends javassist.CtBehavior> oldBehavior, Optional<? extends javassist.CtBehavior> newBehavior, JarArchiveComparatorOptions options)
private void
computeAnnotationChangesConstructor(java.util.List<JApiAnnotation> annotations, Optional<javassist.CtConstructor> oldBehavior, Optional<javassist.CtConstructor> newBehavior, JarArchiveComparatorOptions options)
private void
computeAnnotationChangesMethod(java.util.List<JApiAnnotation> annotations, Optional<javassist.CtMethod> oldBehavior, Optional<javassist.CtMethod> newBehavior, JarArchiveComparatorOptions options)
private java.util.List<JApiException>
computeExceptionChanges(Optional<? extends javassist.CtBehavior> oldMethodOptional, Optional<? extends javassist.CtBehavior> newMethodOptional)
private JApiChangeStatus
evaluateChangeStatus(JApiChangeStatus changeStatus)
private JApiModifier<AbstractModifier>
extractAbstractModifier(Optional<? extends javassist.CtBehavior> oldBehaviorOptional, Optional<? extends javassist.CtBehavior> newBehaviorOptional)
private JApiModifier<AccessModifier>
extractAccessModifier(Optional<? extends javassist.CtBehavior> oldBehaviorOptional, Optional<? extends javassist.CtBehavior> newBehaviorOptional)
private JApiModifier<BridgeModifier>
extractBridgeModifier(Optional<? extends javassist.CtBehavior> oldBehaviorOptional, Optional<? extends javassist.CtBehavior> newBehaviorOptional)
private java.util.List<java.lang.String>
extractExceptions(Optional<? extends javassist.CtBehavior> methodOptional)
private JApiModifier<FinalModifier>
extractFinalModifier(Optional<? extends javassist.CtBehavior> oldBehaviorOptional, Optional<? extends javassist.CtBehavior> newBehaviorOptional)
private JApiModifier<StaticModifier>
extractStaticModifier(Optional<? extends javassist.CtBehavior> oldBehaviorOptional, Optional<? extends javassist.CtBehavior> newBehaviorOptional)
protected JApiAttribute<SyntheticAttribute>
extractSyntheticAttribute(Optional<? extends javassist.CtBehavior> oldBehaviorOptional, Optional<? extends javassist.CtBehavior> newBehaviorOptional)
private JApiModifier<SyntheticModifier>
extractSyntheticModifier(Optional<? extends javassist.CtBehavior> oldBehaviorOptional, Optional<? extends javassist.CtBehavior> newBehaviorOptional)
Optional<java.lang.Integer>
geNewLineNumber()
Returns the line number in the source file of the new element.JApiModifier<AbstractModifier>
getAbstractModifier()
Returns the abstract modifier.JApiModifier<AccessModifier>
getAccessModifier()
Returns the access modifier.java.util.List<JApiAnnotation>
getAnnotations()
Returns a list of annotations asJApiAnnotation
.java.util.List<JApiAttribute<? extends java.lang.Enum<?>>>
getAttributes()
JApiModifier<BridgeModifier>
getBridgeModifier()
Returns the bridge modifier.JApiChangeStatus
getChangeStatus()
Returns the change status of this element.java.util.List<JApiCompatibilityChange>
getCompatibilityChanges()
Returns all compatibility changes.java.util.List<JApiException>
getExceptions()
JApiModifier<FinalModifier>
getFinalModifier()
Returns the final modifier.JApiClass
getjApiClass()
private Optional<java.lang.Integer>
getLineNumber(Optional<? extends javassist.CtBehavior> methodOptional)
java.util.List<? extends JApiModifier<? extends java.lang.Enum<? extends java.lang.Enum<?>>>>
getModifiers()
Returns a list of modifiers.java.lang.String
getName()
java.lang.String
getNewLineNumberAsString()
Optional<java.lang.Integer>
getOldLineNumber()
Returns the line number in the source file of the old element.java.lang.String
getOldLineNumberAsString()
java.util.List<JApiParameter>
getParameters()
JApiModifier<StaticModifier>
getStaticModifier()
Returns the static modifier.JApiAttribute<SyntheticAttribute>
getSyntheticAttribute()
JApiModifier<SyntheticModifier>
getSyntheticModifier()
Returns the synthetic modifier.boolean
hasSameParameter(JApiMethod method)
boolean
isBinaryCompatible()
Returns true if this element has changed binary compatible.boolean
isSourceCompatible()
Returns true if this element has changed source compatible.
-
-
-
Field Detail
-
jApiClass
private final JApiClass jApiClass
-
name
private final java.lang.String name
-
jarArchiveComparator
private final JarArchiveComparator jarArchiveComparator
-
parameters
private final java.util.List<JApiParameter> parameters
-
annotations
private final java.util.List<JApiAnnotation> annotations
-
accessModifier
private final JApiModifier<AccessModifier> accessModifier
-
finalModifier
private final JApiModifier<FinalModifier> finalModifier
-
staticModifier
private final JApiModifier<StaticModifier> staticModifier
-
abstractModifier
private final JApiModifier<AbstractModifier> abstractModifier
-
bridgeModifier
private final JApiModifier<BridgeModifier> bridgeModifier
-
syntheticModifier
private final JApiModifier<SyntheticModifier> syntheticModifier
-
syntheticAttribute
private final JApiAttribute<SyntheticAttribute> syntheticAttribute
-
exceptions
private final java.util.List<JApiException> exceptions
-
changeStatus
protected JApiChangeStatus changeStatus
-
oldLineNumber
private final Optional<java.lang.Integer> oldLineNumber
-
newLineNumber
private final Optional<java.lang.Integer> newLineNumber
-
compatibilityChanges
private final java.util.List<JApiCompatibilityChange> compatibilityChanges
-
-
Constructor Detail
-
JApiBehavior
public JApiBehavior(JApiClass jApiClass, java.lang.String name, Optional<? extends javassist.CtBehavior> oldBehavior, Optional<? extends javassist.CtBehavior> newBehavior, JApiChangeStatus changeStatus, JarArchiveComparator jarArchiveComparator)
-
-
Method Detail
-
computeExceptionChanges
private java.util.List<JApiException> computeExceptionChanges(Optional<? extends javassist.CtBehavior> oldMethodOptional, Optional<? extends javassist.CtBehavior> newMethodOptional)
-
extractExceptions
private java.util.List<java.lang.String> extractExceptions(Optional<? extends javassist.CtBehavior> methodOptional)
-
getLineNumber
private Optional<java.lang.Integer> getLineNumber(Optional<? extends javassist.CtBehavior> methodOptional)
-
computeAnnotationChanges
private void computeAnnotationChanges(java.util.List<JApiAnnotation> annotations, Optional<? extends javassist.CtBehavior> oldBehavior, Optional<? extends javassist.CtBehavior> newBehavior, JarArchiveComparatorOptions options)
-
computeAnnotationChangesMethod
private void computeAnnotationChangesMethod(java.util.List<JApiAnnotation> annotations, Optional<javassist.CtMethod> oldBehavior, Optional<javassist.CtMethod> newBehavior, JarArchiveComparatorOptions options)
-
computeAnnotationChangesConstructor
private void computeAnnotationChangesConstructor(java.util.List<JApiAnnotation> annotations, Optional<javassist.CtConstructor> oldBehavior, Optional<javassist.CtConstructor> newBehavior, JarArchiveComparatorOptions options)
-
evaluateChangeStatus
private JApiChangeStatus evaluateChangeStatus(JApiChangeStatus changeStatus)
-
extractSyntheticAttribute
protected JApiAttribute<SyntheticAttribute> extractSyntheticAttribute(Optional<? extends javassist.CtBehavior> oldBehaviorOptional, Optional<? extends javassist.CtBehavior> newBehaviorOptional)
-
hasSameParameter
public boolean hasSameParameter(JApiMethod method)
-
extractStaticModifier
private JApiModifier<StaticModifier> extractStaticModifier(Optional<? extends javassist.CtBehavior> oldBehaviorOptional, Optional<? extends javassist.CtBehavior> newBehaviorOptional)
-
extractFinalModifier
private JApiModifier<FinalModifier> extractFinalModifier(Optional<? extends javassist.CtBehavior> oldBehaviorOptional, Optional<? extends javassist.CtBehavior> newBehaviorOptional)
-
extractAccessModifier
private JApiModifier<AccessModifier> extractAccessModifier(Optional<? extends javassist.CtBehavior> oldBehaviorOptional, Optional<? extends javassist.CtBehavior> newBehaviorOptional)
-
extractAbstractModifier
private JApiModifier<AbstractModifier> extractAbstractModifier(Optional<? extends javassist.CtBehavior> oldBehaviorOptional, Optional<? extends javassist.CtBehavior> newBehaviorOptional)
-
extractBridgeModifier
private JApiModifier<BridgeModifier> extractBridgeModifier(Optional<? extends javassist.CtBehavior> oldBehaviorOptional, Optional<? extends javassist.CtBehavior> newBehaviorOptional)
-
extractSyntheticModifier
private JApiModifier<SyntheticModifier> extractSyntheticModifier(Optional<? extends javassist.CtBehavior> oldBehaviorOptional, Optional<? extends javassist.CtBehavior> newBehaviorOptional)
-
getModifiers
public java.util.List<? extends JApiModifier<? extends java.lang.Enum<? extends java.lang.Enum<?>>>> getModifiers()
Description copied from interface:JApiHasModifiers
Returns a list of modifiers.- Specified by:
getModifiers
in interfaceJApiHasModifiers
- Returns:
- a list of modifiers
-
getName
public java.lang.String getName()
-
getChangeStatus
public JApiChangeStatus 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
-
getParameters
public java.util.List<JApiParameter> getParameters()
-
addParameter
public void addParameter(JApiParameter jApiParameter)
-
getAccessModifier
public JApiModifier<AccessModifier> getAccessModifier()
Description copied from interface:JApiHasAccessModifier
Returns the access modifier.- Specified by:
getAccessModifier
in interfaceJApiHasAccessModifier
- Returns:
- the access modifier
-
getFinalModifier
public JApiModifier<FinalModifier> getFinalModifier()
Description copied from interface:JApiHasFinalModifier
Returns the final modifier.- Specified by:
getFinalModifier
in interfaceJApiHasFinalModifier
- Returns:
- the final modifier
-
getStaticModifier
public JApiModifier<StaticModifier> getStaticModifier()
Description copied from interface:JApiHasStaticModifier
Returns the static modifier.- Specified by:
getStaticModifier
in interfaceJApiHasStaticModifier
- Returns:
- the static modifier
-
getAbstractModifier
public JApiModifier<AbstractModifier> getAbstractModifier()
Description copied from interface:JApiHasAbstractModifier
Returns the abstract modifier.- Specified by:
getAbstractModifier
in interfaceJApiHasAbstractModifier
- Returns:
- the abstract modifier
-
getAttributes
public java.util.List<JApiAttribute<? extends java.lang.Enum<?>>> getAttributes()
-
getBridgeModifier
public JApiModifier<BridgeModifier> getBridgeModifier()
Description copied from interface:JApiHasBridgeModifier
Returns the bridge modifier. The ACC_BRIDGE property is added by the compiler for bridge methods.- Specified by:
getBridgeModifier
in interfaceJApiHasBridgeModifier
- Returns:
- the bridge modifier
-
getSyntheticModifier
public JApiModifier<SyntheticModifier> getSyntheticModifier()
Description copied from interface:JApiHasSyntheticModifier
Returns the synthetic modifier.- Specified by:
getSyntheticModifier
in interfaceJApiHasSyntheticModifier
- Returns:
- the synthetic modifier
-
getSyntheticAttribute
public JApiAttribute<SyntheticAttribute> getSyntheticAttribute()
- Specified by:
getSyntheticAttribute
in interfaceJApiHasSyntheticAttribute
-
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
-
getCompatibilityChanges
public java.util.List<JApiCompatibilityChange> getCompatibilityChanges()
Description copied from interface:JApiCompatibility
Returns all compatibility changes.- Specified by:
getCompatibilityChanges
in interfaceJApiCompatibility
- Returns:
- a list of compatibility changes
-
getAnnotations
public java.util.List<JApiAnnotation> getAnnotations()
Description copied from interface:JApiHasAnnotations
Returns a list of annotations asJApiAnnotation
.- Specified by:
getAnnotations
in interfaceJApiHasAnnotations
- Returns:
- a list of annotations as
JApiAnnotation
-
getOldLineNumber
public Optional<java.lang.Integer> getOldLineNumber()
Description copied from interface:JApiHasLineNumber
Returns the line number in the source file of the old element.- Specified by:
getOldLineNumber
in interfaceJApiHasLineNumber
- Returns:
- the line number in the source file of the old element
-
geNewLineNumber
public Optional<java.lang.Integer> geNewLineNumber()
Description copied from interface:JApiHasLineNumber
Returns the line number in the source file of the new element.- Specified by:
geNewLineNumber
in interfaceJApiHasLineNumber
- Returns:
- the line number in the source file of the new element
-
getOldLineNumberAsString
public java.lang.String getOldLineNumberAsString()
-
getNewLineNumberAsString
public java.lang.String getNewLineNumberAsString()
-
getExceptions
public java.util.List<JApiException> getExceptions()
-
getjApiClass
public JApiClass getjApiClass()
-
-