Inspectopedia Help

'public' method not exposed in interface

Reports public methods in classes which are not exposed in an interface.

Exposing all public methods via an interface is important for maintaining loose coupling, and may be necessary for certain component-based programming styles.

Example:

interface Person { String getName(); } class PersonImpl implements Person { private String name; // ok: method is exposed in interface @Override public String getName() { return name; } // warning: method is public // but not exposed in interface public void setName() { this.name = name; } }

Use the Ignore if annotated by list to specify special annotations. Methods annotated with one of these annotations will be ignored by this inspection.

Use the Ignore if the containing class does not implement a non-library interface option to ignore methods from classes which do not implement any interface from the project.

Inspection options

Here you can find the description of settings available for the 'public' method not exposed in interface inspection, and the reference of their default values.

Ignore if annotated by

Empty

Ignore if the containing class does not implement a non-library interface

Not selected

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Java, 241.16690

Last modified: 29 April 2024