Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/mycompany/checks/LimitImplementationFiles.java


1   package com.mycompany.checks;
2   
3   import java.io.File;
4   import com.puppycrawl.tools.checkstyle.api.*;
5   
6   /**
7    * An example for a user provided FileSetCheck,
8    * checks that the number of files does not excced a certain limit.
9    *
10   * This Class is provided for educational purposes only, we do not
11   * consider it useful to check your production code.
12   *
13   * @author lkuehne
14   */
15  public class LimitImplementationFiles
16      extends AbstractFileSetCheck
17  {
18      /**
19       * the maximium number of implementation files,
20       * default is 100.
21       */
22      private int max = 100;
23  
24      /**
25       * Give user a chance to configure max in the
26       * config file.
27       *
28       * @param aMax the user specified maximum.
29       */
30      public void setMax(int aMax)
31      {
32          max = aMax;
33      }
34  
35      /**
36       * @see FileSetCheck
37       */
38      public void process(File[] files)
39      {
40          if (files != null && files.length > max) {
41  
42              // figure out the file that contains the error
43              final String path = files[max].getPath();
44  
45              // message collector is used to collect error messages,
46              // needs to be reset before starting to collect error messages
47              // for a file.
48              getMessageCollector().reset();
49  
50              // message dispatcher is used to fire AuditEvents
51              MessageDispatcher dispatcher = getMessageDispatcher();
52  
53              // signal start of file to AuditListeners
54              dispatcher.fireFileStarted(path);
55  
56              // log the message
57              log(0, "max.files.exceeded", new Integer(max));
58  
59              // you can call log() multiple times to flag multiple
60              // errors in the same file
61  
62              // fire the errors for this file to the AuditListeners
63              fireErrors(path);
64  
65              // signal end of file to AuditListeners
66              dispatcher.fireFileFinished(path);
67          }
68      }
69  }