1   package com.puppycrawl.tools.checkstyle.checks.modifier.redundantmodifier;
2   
3   public interface InputRedundantModifierClassesInsideOfInterfaces {
4   
5       // Class inside of interface can be abstract and non abstract, but always public static.
6       abstract class A {}
7   
8       class B {}
9   
10      // All classes inside interfaces are public static classes, and static modifier is redundant.
11      static class C { // violation
12          public static boolean verifyState( A a ) {
13              return true;
14          }
15      }
16  
17      public class E {} // violation
18  
19      // Enums are static implicit subclasses of Enum class.
20      public enum Role1 { // violation
21          ADMIN,
22          EDITOR,
23          VANILLA;
24      }
25  
26      static enum Role2 { // violation
27          ADMIN,
28          EDITOR,
29          VANILLA;
30      }
31  }