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

Option

Type

Default

Ignore if annotated by

StringList

[]

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

Checkbox

false

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023