This rule checks that non-abstract classes inheriting from AbstractUc begin with Uc, end with Impl and implement an interface with the same name except the suffix Impl.

Noncompliant Code Examples

    public class UcTestImpl extends AbstractUc {}
    public abstract class UcClass extends AbstractUc {}

Compliant Solution

    public class UcTestImpl extends AbstractUc implements UcTest {}