API Change Analysis Results

The summary of the API changes between artifacts org.revapi:revapi:jar:0.13.2 and org.revapi:revapi:jar:0.14.0.

Breaking Changes

Binary

Difference Code Element Description Justification
java.class.noLongerImplementsInterface class org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>> Class no longer implements interface 'org.revapi.ArchiveAnalyzer<E extends org.revapi.base.BaseElement<E>>'.
java.class.nowFinal class org.revapi.FilterFinishResult Class is now final.
java.class.removed enum org.revapi.FilterMatch Class was removed.
java.method.parameterTypeChanged parameter java.util.stream.Stream<E> org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>>::discoverElements(java.lang.Object, ===E===) The type of the parameter changed from 'E extends org.revapi.base.BaseElement<E>' to 'E extends org.revapi.Element<E>'.
java.method.parameterTypeChanged parameter org.revapi.FilterFinishResult org.revapi.FilterFinishResult::direct(===org.revapi.FilterMatch===) The type of the parameter changed from 'org.revapi.FilterMatch' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter org.revapi.FilterFinishResult org.revapi.FilterFinishResult::from(===org.revapi.FilterMatch===, boolean) The type of the parameter changed from 'org.revapi.FilterMatch' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter org.revapi.FilterFinishResult org.revapi.FilterFinishResult::withMatch(===org.revapi.FilterMatch===) The type of the parameter changed from 'org.revapi.FilterMatch' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter org.revapi.FilterStartResult org.revapi.FilterStartResult::direct(===org.revapi.FilterMatch===, boolean) The type of the parameter changed from 'org.revapi.FilterMatch' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter org.revapi.FilterStartResult org.revapi.FilterStartResult::direct(org.revapi.FilterMatch, ===boolean===) The type of the parameter changed from 'boolean' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter org.revapi.FilterStartResult org.revapi.FilterStartResult::from(===org.revapi.FilterMatch===, boolean, boolean) The type of the parameter changed from 'org.revapi.FilterMatch' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter org.revapi.FilterStartResult org.revapi.FilterStartResult::from(org.revapi.FilterFinishResult, ===boolean===) The type of the parameter changed from 'boolean' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter org.revapi.FilterStartResult org.revapi.FilterStartResult::from(org.revapi.FilterMatch, ===boolean===, boolean) The type of the parameter changed from 'boolean' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter org.revapi.FilterStartResult org.revapi.FilterStartResult::withDescend(===boolean===) The type of the parameter changed from 'boolean' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter org.revapi.FilterStartResult org.revapi.FilterStartResult::withMatch(===org.revapi.FilterMatch===) The type of the parameter changed from 'org.revapi.FilterMatch' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter void org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>>::addTo(java.lang.Object, org.revapi.TreeFilter<E>, java.util.SortedSet<E>, ===E===) The type of the parameter changed from 'E extends org.revapi.base.BaseElement<E>' to 'E extends org.revapi.Element<E>'.
java.method.removed method boolean org.revapi.FilterStartResult::isDescend() Method was removed.
java.method.removed method org.revapi.FilterStartResult org.revapi.FilterStartResult::doesntMatchAndDescend() Method was removed.
java.method.removed method org.revapi.FilterStartResult org.revapi.FilterStartResult::matchAndDescendInherited() Method was removed.
java.method.removed method org.revapi.FilterStartResult org.revapi.FilterStartResult::undecidedAndDescend() Method was removed.
java.method.returnTypeChanged method org.revapi.FilterMatch org.revapi.FilterFinishResult::getMatch() The return type changed from 'org.revapi.FilterMatch' to 'org.revapi.Ternary'.
java.method.returnTypeChanged method org.revapi.FilterMatch org.revapi.FilterStartResult::getMatch() The return type changed from 'org.revapi.FilterMatch' to 'org.revapi.Ternary'.

Source

Difference Code Element Description Justification
java.class.noLongerImplementsInterface class org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>> Class no longer implements interface 'org.revapi.ArchiveAnalyzer<E extends org.revapi.base.BaseElement<E>>'.
java.class.nowFinal class org.revapi.FilterFinishResult Class is now final.
java.class.removed enum org.revapi.FilterMatch Class was removed.
java.generics.formalTypeParameterChanged class org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>> The formal type parameter changed from 'F extends org.revapi.base.BaseElementForest<E>' to 'F extends org.revapi.base.BaseElementForest<E>'.
java.generics.formalTypeParameterChanged class org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>> The formal type parameter changed from 'E extends org.revapi.base.BaseElement<E>' to 'E extends org.revapi.Element<E>'.
java.method.addedToInterface method java.lang.String org.revapi.Archive.Versioned::getBaseName() Method was added to an interface.
java.method.removed method boolean org.revapi.FilterStartResult::isDescend() Method was removed.
java.method.removed method org.revapi.FilterStartResult org.revapi.FilterStartResult::doesntMatchAndDescend() Method was removed.
java.method.removed method org.revapi.FilterStartResult org.revapi.FilterStartResult::matchAndDescendInherited() Method was removed.
java.method.removed method org.revapi.FilterStartResult org.revapi.FilterStartResult::undecidedAndDescend() Method was removed.
java.method.returnTypeTypeParametersChanged method F org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>>::analyze(org.revapi.TreeFilter<E>) The return type changed from 'F extends org.revapi.base.BaseElementForest<E>' to 'F extends org.revapi.base.BaseElementForest<E>'.
java.method.returnTypeTypeParametersChanged method F org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>>::newElementForest() The return type changed from 'F extends org.revapi.base.BaseElementForest<E>' to 'F extends org.revapi.base.BaseElementForest<E>'.
java.method.returnTypeTypeParametersChanged method java.util.stream.Stream<E> org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>>::discoverElements(java.lang.Object, E) The return type changed from 'java.util.stream.Stream<E extends org.revapi.base.BaseElement<E>>' to 'java.util.stream.Stream<E extends org.revapi.Element<E>>'.
java.method.returnTypeTypeParametersChanged method java.util.stream.Stream<E> org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>>::discoverRoots(java.lang.Object) The return type changed from 'java.util.stream.Stream<E extends org.revapi.base.BaseElement<E>>' to 'java.util.stream.Stream<E extends org.revapi.Element<E>>'.
java.method.returnTypeTypeParametersChanged method org.revapi.ApiAnalyzer<E> org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>>::getApiAnalyzer() The return type changed from 'org.revapi.ApiAnalyzer<E extends org.revapi.base.BaseElement<E>>' to 'org.revapi.ApiAnalyzer<E extends org.revapi.Element<E>>'.

Potentially Breaking Changes

Binary

Difference Code Element Description Justification
java.class.superTypeTypeParametersChanged class org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>> Super type's type parameters changed from 'org.revapi.ArchiveAnalyzer<E extends org.revapi.base.BaseElement<E>>' to 'org.revapi.ArchiveAnalyzer<E extends org.revapi.Element<E>>'.

Source

Difference Code Element Description Justification
java.class.superTypeTypeParametersChanged class org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>> Super type's type parameters changed from 'org.revapi.ArchiveAnalyzer<E extends org.revapi.base.BaseElement<E>>' to 'org.revapi.ArchiveAnalyzer<E extends org.revapi.Element<E>>'.
java.method.parameterTypeChanged parameter java.util.stream.Stream<E> org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>>::discoverElements(java.lang.Object, ===E===) The type of the parameter changed from 'E extends org.revapi.base.BaseElement<E>' to 'E extends org.revapi.Element<E>'.
java.method.parameterTypeChanged parameter org.revapi.FilterFinishResult org.revapi.FilterFinishResult::direct(===org.revapi.FilterMatch===) The type of the parameter changed from 'org.revapi.FilterMatch' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter org.revapi.FilterFinishResult org.revapi.FilterFinishResult::from(===org.revapi.FilterMatch===, boolean) The type of the parameter changed from 'org.revapi.FilterMatch' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter org.revapi.FilterFinishResult org.revapi.FilterFinishResult::withMatch(===org.revapi.FilterMatch===) The type of the parameter changed from 'org.revapi.FilterMatch' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter org.revapi.FilterStartResult org.revapi.FilterStartResult::direct(===org.revapi.FilterMatch===, boolean) The type of the parameter changed from 'org.revapi.FilterMatch' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter org.revapi.FilterStartResult org.revapi.FilterStartResult::direct(org.revapi.FilterMatch, ===boolean===) The type of the parameter changed from 'boolean' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter org.revapi.FilterStartResult org.revapi.FilterStartResult::from(===org.revapi.FilterMatch===, boolean, boolean) The type of the parameter changed from 'org.revapi.FilterMatch' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter org.revapi.FilterStartResult org.revapi.FilterStartResult::from(org.revapi.FilterFinishResult, ===boolean===) The type of the parameter changed from 'boolean' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter org.revapi.FilterStartResult org.revapi.FilterStartResult::from(org.revapi.FilterMatch, ===boolean===, boolean) The type of the parameter changed from 'boolean' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter org.revapi.FilterStartResult org.revapi.FilterStartResult::withDescend(===boolean===) The type of the parameter changed from 'boolean' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter org.revapi.FilterStartResult org.revapi.FilterStartResult::withMatch(===org.revapi.FilterMatch===) The type of the parameter changed from 'org.revapi.FilterMatch' to 'org.revapi.Ternary'.
java.method.parameterTypeChanged parameter void org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>>::addTo(java.lang.Object, org.revapi.TreeFilter<E>, java.util.SortedSet<E>, ===E===) The type of the parameter changed from 'E extends org.revapi.base.BaseElement<E>' to 'E extends org.revapi.Element<E>'.
java.method.parameterTypeParameterChanged parameter F org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>>::analyze(===org.revapi.TreeFilter<E>===) The type parameter of method parameter changed. The original type was 'org.revapi.TreeFilter<E extends org.revapi.base.BaseElement<E>>'while the new type is 'org.revapi.TreeFilter<E extends org.revapi.Element<E>>'.
java.method.parameterTypeParameterChanged parameter void org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>>::<init>(===org.revapi.ApiAnalyzer<E>===, org.revapi.API) The type parameter of method parameter changed. The original type was 'org.revapi.ApiAnalyzer<E extends org.revapi.base.BaseElement<E>>'while the new type is 'org.revapi.ApiAnalyzer<E extends org.revapi.Element<E>>'.
java.method.parameterTypeParameterChanged parameter void org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>>::addTo(java.lang.Object, ===org.revapi.TreeFilter<E>===, java.util.SortedSet<E>, E) The type parameter of method parameter changed. The original type was 'org.revapi.TreeFilter<E extends org.revapi.base.BaseElement<E>>'while the new type is 'org.revapi.TreeFilter<E extends org.revapi.Element<E>>'.
java.method.parameterTypeParameterChanged parameter void org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>>::addTo(java.lang.Object, org.revapi.TreeFilter<E>, ===java.util.SortedSet<E>===, E) The type parameter of method parameter changed. The original type was 'java.util.SortedSet<E extends org.revapi.base.BaseElement<E>>'while the new type is 'java.util.SortedSet<E extends org.revapi.Element<E>>'.
java.method.parameterTypeParameterChanged parameter void org.revapi.base.BaseArchiveAnalyzer<F extends org.revapi.base.BaseElementForest<E>, E extends org.revapi.base.BaseElement<E>>::prune(===org.revapi.ElementForest<E>===) The type parameter of method parameter changed. The original type was 'org.revapi.ElementForest<E extends org.revapi.base.BaseElement<E>>'while the new type is 'org.revapi.ElementForest<E extends org.revapi.Element<E>>'.
java.method.returnTypeChanged method org.revapi.FilterMatch org.revapi.FilterFinishResult::getMatch() The return type changed from 'org.revapi.FilterMatch' to 'org.revapi.Ternary'.
java.method.returnTypeChanged method org.revapi.FilterMatch org.revapi.FilterStartResult::getMatch() The return type changed from 'org.revapi.FilterMatch' to 'org.revapi.Ternary'.

Semantic

Difference Code Element Description Justification
java.annotation.removed method <T extends org.revapi.Element<E>> java.util.Iterator<T> org.revapi.base.BaseElement<E extends org.revapi.Element<E>>::iterateOverChildren(java.lang.Class<T>, boolean, org.revapi.query.Filter<? super T>) Element no longer annotated with 'javax.annotation.Nonnull'.
java.annotation.removed method <T extends org.revapi.Element<E>> java.util.List<T> org.revapi.base.BaseElement<E extends org.revapi.Element<E>>::searchChildren(java.lang.Class<T>, boolean, org.revapi.query.Filter<? super T>) Element no longer annotated with 'javax.annotation.Nonnull'.
java.annotation.removed method java.util.Set<org.revapi.Difference> org.revapi.TransformationResult::getDifferences() Element no longer annotated with 'javax.annotation.Nullable'.
java.annotation.removed method java.util.SortedSet<E> org.revapi.base.BaseElement<E extends org.revapi.Element<E>>::newChildrenInstance() Element no longer annotated with 'javax.annotation.Nonnull'.
java.annotation.removed parameter <T extends org.revapi.Element<E>> java.util.Iterator<T> org.revapi.base.BaseElement<E extends org.revapi.Element<E>>::iterateOverChildren(===java.lang.Class<T>===, boolean, org.revapi.query.Filter<? super T>) Element no longer annotated with 'javax.annotation.Nonnull'.
java.annotation.removed parameter <T extends org.revapi.Element<E>> java.util.List<T> org.revapi.base.BaseElement<E extends org.revapi.Element<E>>::searchChildren(===java.lang.Class<T>===, boolean, org.revapi.query.Filter<? super T>) Element no longer annotated with 'javax.annotation.Nonnull'.
java.annotation.removed parameter <T extends org.revapi.Element<E>> void org.revapi.base.BaseElement<E extends org.revapi.Element<E>>::searchChildren(===java.util.List<T>===, java.lang.Class<T>, boolean, org.revapi.query.Filter<? super T>) Element no longer annotated with 'javax.annotation.Nonnull'.
java.annotation.removed parameter <T extends org.revapi.Element<E>> void org.revapi.base.BaseElement<E extends org.revapi.Element<E>>::searchChildren(java.util.List<T>, ===java.lang.Class<T>===, boolean, org.revapi.query.Filter<? super T>) Element no longer annotated with 'javax.annotation.Nonnull'.
java.method.addedToInterface method java.lang.String org.revapi.Archive.Versioned::getBaseName() Method was added to an interface.