1   package org.apache.maven.shared.io.logging;
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  import java.util.ArrayList;
23  import java.util.Arrays;
24  import java.util.Collections;
25  import java.util.List;
26  
27  
28  
29  
30  public final class MessageLevels
31  {
32  
33      
34  
35  
36      public static final int LEVEL_DEBUG = 0;
37      
38  
39  
40      public static final int LEVEL_INFO = 1;
41      
42  
43  
44      public static final int LEVEL_WARNING = 2;
45      
46  
47  
48      public static final int LEVEL_ERROR = 3;
49      
50  
51  
52      public static final int LEVEL_SEVERE = 4;
53      
54  
55  
56      public static final int LEVEL_DISABLED = 5;
57  
58      private static final List<String> LEVEL_NAMES;
59  
60      static
61      {
62          List<String> names = new ArrayList<String>();
63          names.add( "DEBUG" );
64          names.add( "INFO" );
65          names.add( "WARN" );
66          names.add( "ERROR" );
67          names.add( "SEVERE" );
68  
69          LEVEL_NAMES = Collections.unmodifiableList( names );
70      }
71  
72      private MessageLevels()
73      {
74      }
75  
76      
77  
78  
79  
80      public static boolean[] getLevelStates( int maxMessageLevel )
81      {
82          boolean[] states = new boolean[5];
83  
84          Arrays.fill( states, false );
85  
86          switch ( maxMessageLevel )
87          {
88              case ( LEVEL_DEBUG ):
89                  states[LEVEL_DEBUG] = true;
90              case ( LEVEL_INFO ):
91                  states[LEVEL_INFO] = true;
92              case ( LEVEL_WARNING ):
93                  states[LEVEL_WARNING] = true;
94              case ( LEVEL_ERROR ):
95                  states[LEVEL_ERROR] = true;
96              case ( LEVEL_SEVERE ):
97                  states[LEVEL_SEVERE] = true;
98              default:
99          }
100 
101         return states;
102     }
103 
104     
105 
106 
107 
108     public static String getLevelLabel( int messageLevel )
109     {
110         if ( messageLevel > -1 && LEVEL_NAMES.size() > messageLevel )
111         {
112             return (String) LEVEL_NAMES.get( messageLevel );
113         }
114 
115         throw new IllegalArgumentException( "Invalid message level: " + messageLevel );
116     }
117 }