KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > java2html > javasource > JavaSourceStatistic


1 package de.java2html.javasource;
2
3 /**
4  * Simple statistics information that can be created when parsing a java source code using the
5  * {@link de.java2html.javasource.JavaSourceParser}.
6  * @author Markus Gebhard
7  */

8 public class JavaSourceStatistic {
9   private int commentLineCount = -1;
10   private int lineCount = -1;
11   private int codeLineCount = -1;
12   private int emptyLineCount = -1;
13   private int maxLineLength = -1;
14   private int characterCount = -1;
15   private String JavaDoc packageName = null;
16   private String JavaDoc fileName = null;
17
18   public JavaSourceStatistic() {
19     //nothing to do
20
}
21
22   /**
23    * Returns the codeLineCount.
24    * @return int
25    */

26   public int getCodeLineCount() {
27     return codeLineCount;
28   }
29
30   /**
31    * Returns the commentLineCount.
32    * @return int
33    */

34   public int getCommentLineCount() {
35     return commentLineCount;
36   }
37
38   /**
39    * Returns the emptyLineCount.
40    * @return int
41    */

42   public int getEmptyLineCount() {
43     return emptyLineCount;
44   }
45
46   /**
47    * Returns the lineCount.
48    * @return int
49    */

50   public int getLineCount() {
51     return lineCount;
52   }
53
54   /**
55    * Returns the maxLineLength.
56    * @return int
57    */

58   public int getMaxLineLength() {
59     return maxLineLength;
60   }
61
62   /**
63    * Sets the codeLineCount.
64    * @param codeLineCount The codeLineCount to set
65    */

66   public void setCodeLineCount(int codeLineCount) {
67     this.codeLineCount = codeLineCount;
68   }
69
70   /**
71    * Sets the commentLineCount.
72    * @param commentLineCount The commentLineCount to set
73    */

74   public void setCommentLineCount(int commentLineCount) {
75     this.commentLineCount = commentLineCount;
76   }
77
78   /**
79    * Sets the emptyLineCount.
80    * @param emptyLineCount The emptyLineCount to set
81    */

82   public void setEmptyLineCount(int emptyLineCount) {
83     this.emptyLineCount = emptyLineCount;
84   }
85
86   /**
87    * Sets the lineCount.
88    * @param lineCount The lineCount to set
89    */

90   public void setLineCount(int lineCount) {
91     this.lineCount = lineCount;
92   }
93
94   /**
95    * Sets the maxLineLength.
96    * @param maxLineLength The maxLineLength to set
97    */

98   public void setMaxLineLength(int maxLineLength) {
99     this.maxLineLength = maxLineLength;
100   }
101
102   /**
103    * Returns the fileName.
104    * @return String
105    */

106   public String JavaDoc getFileName() {
107     return fileName;
108   }
109
110   /**
111    * Sets the fileName.
112    * @param fileName The fileName to set
113    */

114   public void setFileName(String JavaDoc fileName) {
115     this.fileName = fileName;
116   }
117
118   public void clear() {
119     maxLineLength = 0;
120     lineCount = 0;
121     commentLineCount = 0;
122     codeLineCount = 0;
123     emptyLineCount = 0;
124   }
125
126   public String JavaDoc getScreenString(String JavaDoc lineSeparator) {
127     StringBuffer JavaDoc result = new StringBuffer JavaDoc();
128     result.append(" Package: " + toString(packageName) + " Filename: " + toString(fileName) + lineSeparator);
129     result.append(" Lines total: "
130         + lineCount
131         + " Code: "
132         + codeLineCount
133         + " Comments: "
134         + commentLineCount
135         + " Empty: "
136         + emptyLineCount
137         + lineSeparator);
138     result.append(" " + characterCount + " Characters, Maximum line length: " + maxLineLength);
139     return result.toString();
140   }
141
142   private String JavaDoc toString(Object JavaDoc value) {
143     return value == null ? "" : value.toString();
144   }
145
146   public static String JavaDoc getExcelHeader() {
147     StringBuffer JavaDoc result = new StringBuffer JavaDoc();
148     result.append("package");
149     result.append("\t");
150     result.append("file");
151     result.append("\t");
152     result.append("lines total");
153     result.append("\t");
154     result.append("code lines");
155     result.append("\t");
156     result.append("comment lines");
157     result.append("\t");
158     result.append("empty lines");
159     result.append("\t");
160     result.append("characters total");
161     result.append("\t");
162     result.append("maximum line length");
163     return result.toString();
164   }
165
166   public String JavaDoc getExcelString() {
167     StringBuffer JavaDoc result = new StringBuffer JavaDoc();
168     result.append(packageName);
169     result.append("\t");
170     result.append(fileName);
171     result.append("\t");
172     result.append(String.valueOf(lineCount));
173     result.append("\t");
174     result.append(String.valueOf(codeLineCount));
175     result.append("\t");
176     result.append(String.valueOf(commentLineCount));
177     result.append("\t");
178     result.append(String.valueOf(emptyLineCount));
179     result.append("\t");
180     result.append(String.valueOf(characterCount));
181     result.append("\t");
182     result.append(String.valueOf(maxLineLength));
183     return result.toString();
184   }
185
186   /**
187    * Returns the characterCount.
188    * @return int
189    */

190   public int getCharacterCount() {
191     return characterCount;
192   }
193
194   /**
195    * Sets the characterCount.
196    * @param characterCount The characterCount to set
197    */

198   public void setCharacterCount(int characterCount) {
199     this.characterCount = characterCount;
200   }
201
202   /**
203    * Returns the packageName.
204    * @return String
205    */

206   public String JavaDoc getPackageName() {
207     return packageName;
208   }
209
210   /**
211    * Sets the packageName.
212    * @param packageName The packageName to set
213    */

214   public void setPackageName(String JavaDoc packageName) {
215     this.packageName = packageName;
216   }
217
218 }
219
Popular Tags