The following preferences can be set using the Plug-in Development > API Errors/Warnings preference page.
API problems are created during project builds (auto and full builds), the tooling breaks down the types of problems reported into one of three categories:
You can also configure the problem severities on a per project basis as well,
by using the API Errors/Warnings property page for a project
Option |
Description |
Default |
---|---|---|
Unsupported Use of API Javadoc Tags |
When enabled the API analysis builder will check for API Javadoc tags used incorrectly. |
Ignore |
Option |
Description |
Default |
---|---|---|
Implementing an interface marked as '@noimplement' |
When enabled the API analysis builder will check for illegal implementation of marked interfaces. |
Warning |
Extending a type marked '@noextend' |
When enabled the API analysis builder will check for classes that extend marked types. |
Warning |
Referencing a field or method marked '@noreference' |
When enabled the API analysis builder will check for field and method references to tagged members. |
Warning |
Instantiating a class tagged '@noinstantiate' |
When enabled the API analysis builder will check that tagged classes are not instantiated. |
Warning |
Overriding a method marked as '@nooverride' |
When enabled the API analysis builder will check that tagged methods in parent classes are not overridden in any child class either by extending (re-implement with a call to the overridden parent) or re-implementing (with no call to the overridden parent). |
Warning |
Option |
Description |
Default |
---|---|---|
Extends a non-API class |
When enabled the API analysis builder will check if any API classes extend non-API types. |
Warning |
Implements a non-API interface |
When enabled the API analysis builder will check if any API classes implement a non-API interface |
Warning |
Field with non-API type |
When enabled the API analysis builder will check if any API types have public or protected fields with non-API types. |
Warning |
Method with a non-API return type |
When enabled the API analysis builder will check if any API types have public or protected methods with non-API return types. |
Warning |
Method with non-API parameter type |
When enabled the API analysis builder will check if any API types have public or protected methods with non-API parameter types. |
Warning |
Option |
Description |
Default |
---|---|---|
An API type has become non-API |
When enabled the API analysis builder will check if any API types in the current bundle have been changes to non-API types. |
Error |
A Type has been removed |
When enabled the API analysis builder will check if any API types have been removed from the API scope in the given bundle. |
Error |
Option |
Description |
Default |
---|---|---|
A field (annotation not tagged as '@noimplement') has been added |
When enabled the API analysis builder will check if any fields have been added to API annotations that have not been tagged as @noimplement. |
Error |
A method (annotation not tagged as '@noimplement') has been added |
When enabled the API analysis builder will check if any methods have been added to API annotations that have not been tagged as @noimplement. |
Error |
A type member (annotation not tagged as '@noimplement') has been added |
When enabled the API analysis builder will check if any member types have been added to API annotations that have not been tagged as @noimplement. |
Error |
A class bound has been added |
When enabled the API analysis builder will check if a new class bound has been added to any API annotation. |
Error |
An interface bound has been added |
When enabled the API analysis builder will check if a new interface bound has been added to any API annotation. |
Error |
The interface bounds have been added |
When enabled the API analysis builder will check if interface bounds have been added to any API annotation where there currently were none. |
Error |
A method without a default value has been added |
When enabled the API analysis builder will check if a method without a default value has been added to API annotations. |
Error |
A type parameter has been added |
When enabled the API analysis builder will check if type parameters have been added to any API annotations. |
Error |
A class bound has been modified |
When enabled the API analysis builder will check if class bounds have been changed in any API annotations. |
Error |
An interface bound has been changed |
When enabled the API analysis builder will check if interface bounds have been changed on any API annotations. |
Error |
The interface bounds have been modified |
When enabled the API analysis builder will check if all of the interface bounds have been changed on any API annotations. |
Error |
Converted to a class type |
When enabled the API analysis builder will check if any API annotations have been converted to classes. |
Error |
Converted to an enum type |
When enabled the API analysis builder will check if and API annotations have been converted to enums. |
Error |
Converted to an interface type |
When enabled the API analysis builder will check if any PI annotations have been converted to interfaces. |
Error |
The superinterfaces hierarchy has been reduced |
When enabled the API analysis builder will check if any parent interfaces have been removed. |
Error |
The restrictions have been modified |
When enabled the API analysis builder will check if the API restrictions have been changed (e.g. adding an @noimplement when there was not one before). |
Error |
A type parameter has been removed |
When enabled the API analysis builder will check if any type parameters have been removed from API annotations. |
Error |
The type parameters have been removed |
When enabled the API analysis builder will check if all of the type parameters have been removed from any API annotations. |
Error |
A class bound has been removed |
When enabled the API analysis builder will check if a class bound has been removed from any API annotations. |
Error |
An interface bounds has been removed |
When enabled the API analysis builder will check if an interface bound has been removed from any API annotations. |
Error |
The interface bounds have been removed |
When enabled the API analysis builder will check if all of the interface bounds have been removed for any API annotations. |
Error |
A field has been removed |
When enabled the API analysis builder will check if any public fields have been removed from any API annotations. |
Error |
A method with a default value has been removed |
When enabled the API analysis builder will check if any public methods with default values have been removed from any API annotations. |
Error |
A method without a default value has been removed |
When enabled the API analysis builder will check if any public methods without default values have been removed from any API annotations. |
Error |
The annotation default value has been removed |
When enabled the API analysis builder will check if the default value has been removed for any public annotation methods in any API annotations. |
Error |
Option |
Description |
Default |
---|---|---|
A field (interface not tagged as '@noimplement') has been added |
When enabled the API analysis builder will check if any public fields have been added to any API interfaces. |
Error |
A method (interface not tagged as '@noimplement') has been added |
When enabled the API analysis builder will check if any public methods have been added to any API interfaces. |
Error |
A type member (interface not tagged as '@noimplement') has been added |
When enabled the API analysis builder will check if any member types have been added to any API interfaces. |
Error |
A class bound has been added |
When enabled the API analysis builder will check if a class bound has been added to any API interfaces. |
Error |
An interface bound has been added |
When enabled the API analysis builder will check if any interface bounds have been added to any API interfaces. |
Error |
The interface bounds have been removed |
When enabled the API analysis builder will check if all of the interface bounds have been removed from any API interfaces. |
Error |
A type parameter has been added |
When enabled the API analysis builder will check if any type parameters have been added to any API interfaces. |
Error |
A class bound has been modified |
When enabled the API analysis builder will check if any class bounds have been changed for an API interfaces. |
Error |
An interface bound has been modified |
When enabled the API analysis builder will check if any interface bounds have been changed on any API interfaces. |
Error |
The interface bound have been modified |
When enabled the API analysis builder will check if all of the interface bounds have been changed on any API interfaces. |
Error |
Converted to a class type |
When enabled the API analysis builder will check if any API interfaces have been changed to classes. |
Error |
Converted to an enum type |
When enabled the API analysis builder will check if any API interfaces have been changed to enums. |
Error |
Converted to annotation type |
When enabled the API analysis builder will check if any API interfaces have been changed to annotations. |
Error |
The superinterfaces hierarchy has been reduced |
When enabled the API analysis builder will check if any parent interfaces have been removed for any API interfaces. |
Error |
The restrictions have been modified |
When enabled the API analysis builder will check if the API restrictions have changed for any API interfaces. |
Error |
A type parameter has been removed |
When enabled the API analysis builder will check if any type parameters have been removed from any API interfaces. |
Error |
The type parameters have been removed |
When enabled the API analysis builder will check if all of the type parameters have been removed from any API interfaces. |
Error |
A class bound has been removed |
When enabled the API analysis builder will check if any class bound have been removed from any API interfaces. |
Error |
An interface bound has been removed |
When enabled the API analysis builder will check if any interface bounds have been removed from any API interfaces. |
Error |
The interface bounds have been removed |
When enabled the API analysis builder will check if all of the interface bounds have been removed from any API interfaces. |
Error |
A field has been removed |
When enabled the API analysis builder will check if any public fields have been removed from any API interfaces. |
Error |
A method has been removed |
When enabled the API analysis builder will check if any public methods have been removed from any API interfaces. |
Error |
A type member has been removed |
When enabled the API analysis builder will check if nay member types have been removed from any API interfaces. |
Error |
Option |
Description |
Default |
---|---|---|
The superinterfaces hierarchy has been reduced |
When enabled the API analysis builder will check if any parent interfaces have been removed from any API enums. |
Error |
Converted to an annotation type |
When enabled the API analysis builder will check if any API enums have been changed to annotations. |
Error |
Converted to a class type. |
When enabled the API analysis builder will check if any API enums have been changed to classes. |
Error |
Converted to an interface type |
When enabled the API analysis builder will check if any enums have been changed to interfaces. |
Error |
The restrictions have been modified |
When enabled the API analysis builder will check if the API restrictions have been changed on any API enums. |
Error |
A field has been removed |
When enabled the API analysis builder will check if any public fields have been removed from any API enums. |
Error |
An enum constant has been removed |
When enabled the API analysis builder will check if any enum constants have been removed from any API enums. |
Error |
A method has been removed |
When enabled the API analysis builder will check if any public methods have been removed from any API enums. |
Error |
A type member has been removed |
When enabled the API analysis builder will check if any member types have been removed from any API enums. |
Error |
Option |
Description |
Default |
---|---|---|
A method (class not tagged as '@noextend') has been added |
When enabled the API analysis builder will check if any public or protected methods have been added to any API types that have not been tagged @noextend. |
Error |
A parameter type has been added |
When enabled the API analysis builder will check if any parameter types have been added to any API classes. |
Error |
A class bound has been added |
When enabled the API analysis builder will check if a class bound has been added to any API classes. |
Error |
An interface bound has been added |
When enabled the API analysis builder will check if any interface bounds have been added to any API classes. |
Error |
The interface bounds have been added |
When enabled the API analysis builder will check if interface bounds have been added to any API classes that did not previously have interface bounds. |
Error |
The superinterfaces hierarchy has been reduced |
When enabled the API analysis builder will check if any parent interfaces have been removed from any API classes. |
Error |
The superclass hierarchy has been reduced |
When enabled the API analysis builder will check if any parent classes have been removed from any API classes. |
Error |
The superclass has been modified |
When enabled the API analysis builder will check if the superclass for any API classes has been changed. |
Error |
A class bound has been modified |
When enabled the API analysis builder will check if any class bounds have been changed on any API classes. |
Error |
An interface bound has been changed |
When enabled the API analysis builder will check if any interface bounds have been changed on any API classes. |
Error |
The keyword 'abstract' has been added |
When enabled the API analysis builder will check if the 'abstract' keyword has been added to any API classes. |
Error |
The keyword 'final' has been added |
When enabled the API analysis builder will check if the 'final' keyword has been added to any API classes. |
Error |
Converted to an annotation type |
When enabled the API analysis builder will check if any API classes have been changed to annotation types. |
Error |
Converted to an enum type |
When enabled the API analysis builder will check if any API classes have been changed into enum types. |
Error |
Converted to an interface type |
When enabled the API analysis builder will check if any API classes have been changed into interface types. |
Error |
The visibility has been reduced |
When enabled the API analysis builder will check if any public API classes have been made private or default scope. |
Error |
The restrictions have been modified |
When enabled the API analysis builder will check if the API restrictions have been changed for any API classes. |
Error |
A field has been removed |
When enabled the API analysis builder will check if any public or protected fields have been removed from any API classes. |
Error |
A method has been removed |
When enabled the API analysis builder will check if any public or protected methods have been removed from any API classes. |
Error |
A constructor has been removed |
When enabled the API analysis builder will check if any public or protected constructors have been removed from any API classes. |
Error |
A type member has been removed |
When enabled the API analysis builder will check if any type members have been removed from any API classes. |
Error |
A type parameter has been removed |
When enabled the API analysis builder will check if any type parameters have been removed from any API classes. |
Error |
A class bound has been removed |
When enabled the API analysis builder will check if any class bounds have been removed from any API classes. |
Error |
An interface bound has been removed |
When enabled the API analysis builder will check if any interface bounds have been removed from any API classes. |
Error |
Option |
Description |
Default |
---|---|---|
A constant value has been added |
When enabled the API analysis builder will check if a constant value has been added to any previously un-initialized public or protected field constants for any API types. |
Error |
The type has been modified |
When enabled the API analysis builder will check if the type of any public or protected fields has been changed for any API types. |
Error |
The constant value has been modified |
When enabled the API analysis builder will check if the value of any public or protected field constants has been changed in any API types. |
Error |
The visibility has been reduced |
When enabled the API analysis builder will check if any public or protected fields have been made private in any API types. |
Error |
The keyword 'final' has been removed for static constant |
When enabled the API analysis builder will check if any public or protected fields have had the final keyword removed in any API types. |
Error |
The keyword 'final' has been added |
When enabled the API analysis builder will check if the final keyword has been added to any public or protected fields in any API types. |
Error |
The keyword 'static' has been removed |
When enabled the API analysis builder will check if the static keyword has been removed from any public or protected fields in any API types. |
Error |
The keyword 'static' has been added |
When enabled the API analysis builder will check if the static keyword has been added to any public or protected fields in any API types. |
Error |
The constant value has been removed |
When enabled the API analysis builder will check if the value of a constant field has been removed for any public or protected field constants in any API types. |
Error |
The type arguments have bee removed |
When enabled the API analysis builder will check if all of the type arguments have been removed from any public or protected fields in any API types. |
Error |
Option |
Description |
Default |
---|---|---|
A class bound has been added |
When enabled the API analysis builder will check if a class bound has been added to a public or protected method from any API types. |
Error |
An interface bound has been added |
When enabled the API analysis builder will check if an interface bound has been added to any public or protected methods for any API types. |
Error |
The interface bounds have been added |
When enabled the API analysis builder will check if interface bounds have been added to any public or protected methods for any API types. |
Error |
A type parameter has been added |
When enabled the API analysis builder will check if a type parameter has been added to any public or protected methods for any API types. |
Error |
A class bound has been modified |
When enabled the API analysis builder will check if a class bound has been changed for any public or protected method for any API types. |
Error |
An interface bound has been modified |
When enabled the API analysis builder will check if an interface bound has been modified for any public or protected methods for any API types. |
Error |
A type parameter has been modified |
When enabled the API analysis builder will check if a type parameter has been modified for any public or protected methods for any API types. |
Error |
Converted variable argument to array type |
When enabled the API analysis builder will check if a varargs argument has been expanded to an object array for any public or protected methods for any API types. |
Error |
The visibility has been reduced |
When enabled the API analysis builder will check if any public or protected methods have been made private for any API types. |
Error |
The keyword 'abstract' has been added |
When enabled the API analysis builder will check if any public or protected methods have been made abstract in any API types. |
Error |
The keyword 'static' has been added |
When enabled the API analysis builder will check if any public or protected methods have been made static in any API types. |
Error |
The keyword 'static' has been removed |
When enabled the API analysis builder will check if any public or protected methods have been made non-static in any API types. |
Error |
The keyword 'final' has been added (type tagged '@noextend') |
When enabled the API analysis builder will check if any public or protected methods have been made final in any API types that have been tagged @noextend. |
Error |
The type parameters have been removed |
When enabled the API analysis builder will check if all of the type parameters have been removed from any public or protected methods for any API types. |
Error |
A type parameter has been removed |
When enabled the API analysis builder will check if a type parameter has been removed from any public or protected methods for any API types. |
Error |
A class bound has been removed |
When enabled the API analysis builder will check if a class bound has been removed from any public or protected methods for any API types. |
Error |
An interface bound has been removed |
When enabled the API analysis builder will check if an interface bound has been removed from any public or protected methods for any API types. |
Error |
The interface bounds have been removed |
When enabled the API analysis builder will check if all of the interface bounds have been removed from any public or protected methods for any API types. |
Error |
Option |
Description |
Default |
---|---|---|
A class bound has been added |
When enabled the API analysis builder will check if a class bound has been added to any public constructors of any API types. |
Error |
An interface bound has been added |
When enabled the API analysis builder will check if an interface bound has been added to any public constructors of any API types. |
Error |
The interface bounds have been added |
When enabled the API analysis builder will check if interfaces bounds have been added to any public constructors for any API types. |
Error |
A type parameter has been added |
When enabled the API analysis builder will check if a type parameter has been added to any public constructors for any API types. |
Error |
A class bound has been modified |
When enabled the API analysis builder will check if a class bound has been changed on any public constructors for any API types. |
Error |
An interface bound has been modified |
When enabled the API analysis builder will check if an interface bounds has been changed on any public constructors for any API types. |
Error |
A type parameter has been modified |
When enabled the API analysis builder will check if a type parameter has changed for any public constructors for any API types |
Error |
Converted variable argument to array type |
When enabled the API analysis builder will check if any varargs parameters have been expanded to object arrays for any public constructors for any API types. |
Error |
The visibility has been reduced |
When enabled the API analysis builder will check if any public constructors have been made non-public in any API types. |
Error |
The type parameters have been removed |
When enabled the API analysis builder will check if all of the type parameters have been removed from any public constructors for any API types. |
Error |
A type parameter has been removed |
When enabled the API analysis builder will check if a type parameter has been removed from any public constructors for any API types. |
Error |
A class bound has been removed |
When enabled the API analysis builder will check if a class bound has been removed from any public constructors for any API types. |
Error |
An interface bound has been removed |
When enabled the API analysis builder will check if an interface bound has been removed from any public constructors for any API types. |
Error |
The interface bounds have been removed |
When enabled the API analysis builder will check if all of the interface bounds have been removed for any public constructors for any API type. |
Error |
Option |
Description |
Default |
---|---|---|
Report missing '@since' tags |
When enabled the API analysis builder will check if @since tags are missing for types or members added since the version of the API baseline in use. |
Error |
Report malformed '@since' tags |
When enabled the API analysis builder will check if any @since tags currently in use are malformed (incorrect syntax). |
Error |
Report invalid '@since' tag version |
When enabled the API analysis builder will check if any @since tags currently in use have the wrong version. |
Error |
Report incompatible bundle version |
When enabled the API analysis builder will check if the bundle version for the plug-in is incorrect, based on any API changes and the current API baseline in use. |
Error |
Ignore minor version increment without API changes |
If reporting for incompatible version numbers is enabled, this option can be used to tell the API analysis builder to ignore minor version changes if there has not been an API change compared to the current API baseline. |
On |
Ignore major version increment without API changes |
If reporting for incompatible version numbers is enabled, this option can be used to tell the API analysis builder to ignore major version changes if there has not been an API change compared to the current API baseline. |
On |
API Errors and Warnings Property Page
API Baselines Preferences