code: /*
  VisibilityModifier
  packageAllowed = (default)false
  protectedAllowed = (default)false
  publicMemberPattern = ^f[A-Z][a-zA-Z0-9]*$
  allowPublicFinalFields = (default)false
  allowPublicImmutableFields = (default)false
  immutableClassCanonicalNames = (default)java.io.File, java.lang.Boolean, java.lang.Byte, \
                                 java.lang.Character, java.lang.Double, java.lang.Float, \
                                 java.lang.Integer, java.lang.Long, java.lang.Short, \
                                 java.lang.StackTraceElement, java.lang.String, \
                                 java.math.BigDecimal, java.math.BigInteger, \
                                 java.net.Inet4Address, java.net.Inet6Address, \
                                 java.net.InetSocketAddress, java.net.URI, java.net.URL, \
                                 java.util.Locale, java.util.UUID
  ignoreAnnotationCanonicalNames = (default)com.google.common.annotations.VisibleForTesting, \
                                   org.junit.ClassRule, org.junit.Rule
  
  
  */
  
  package com.puppycrawl.tools.checkstyle.checks.design.visibilitymodifier;
  import java.io.*;
  /**
   * Contains simple mistakes:
   * - Long lines
   * - Tabs
   * - Format of variables and parameters
   * - Order of modifiers
   * @author Oliver Burn
   **/
  final class InputVisibilityModifierSimple
  {
      /** Invalid format **/
      public static final int badConstant = 2;
      /** Valid format **/
      public static final int MAX_ROWS = 2;
  
      /** Invalid format **/
      private static int badStatic = 2;
      /** Valid format **/
      private static int sNumCreated = 0;
  
      /** Invalid format **/
      private int badMember = 2;
      /** Valid format **/
      private int mNumCreated1 = 0;
      /** Valid format **/
      protected int mNumCreated2 = 0; // violation
  
      /** commas are wrong **/
      private int[] mInts = new int[] {1,2, 3,
                                       4};
  
      //
      // Accessor tests
      //
      /** should be private **/
      public static int sTest1; // violation
      /** should be private **/
      protected static int sTest3; // violation
      /** should be private **/
      static int sTest2; // violation
  
      /** should be private **/
      int mTest1; // violation
      /** should be private **/
      public int mTest2; // violation
  
      /**
       * @return hack
       * @param badFormat1 bad format
       * @param badFormat2 bad format
       * @param badFormat3 bad format
       * @throws java.lang.Exception abc
       **/
      int test1(int badFormat1,int badFormat2,
                final int badFormat3)
          throws java.lang.Exception
      {
          return 0;
      }
  
      /** test local variables */
      private void localVariables()
      {
          // normal decl
          int abc = 0;
          int ABC = 0;
  
          // final decls
          final int cde = 0;
          final int CDE = 0;
  
          // decl in for loop init statement
          for (int k = 0; k < 1; k++)
          {
              String innerBlockVariable = "";
          }
          for (int I = 0; I < 1; I++)
          {
              String InnerBlockVariable = "";
          }
      }
  
      /** test illegal constant **/
      private static final int BAD__NAME = 3;
  }
  
  /** Test class for variable naming in for each clause. */
  class InputVisibilityModifierSimple2
  {
      /** Some more Javadoc. */
      public void doSomething()
      {
          //"O" should be named "o"
          for (Object O : new java.util.ArrayList())
          {
  
          }
      }
  }
  
  /** Test enum for member naming check */
  enum MyEnum1
  {
      /** ABC constant */
      ABC,
  
      /** XYZ constant */
      XYZ;
  
      /** Should be mSomeMember */
      private int someMember;
  }
  