ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/util/uk/org/iscream/cms/util/FormatName.java
Revision: 1.6
Committed: Sun Feb 25 20:49:29 2001 UTC (23 years, 2 months ago) by tdb
Branch: MAIN
Changes since 1.5: +3 -3 lines
Log Message:
Sorted out the javadoc comments.

File Contents

# User Rev Content
1 ajm 1.1 //---PACKAGE DECLARATION---
2     package uk.ac.ukc.iscream.util;
3    
4     //---IMPORTS---
5 tdb 1.5 import java.util.Date;
6     import java.text.DateFormat;
7     import java.util.Locale;
8 ajm 1.1
9     /**
10     * This class provides static methods to format the
11     * name of a calling object. It's main use is by
12     * the various objects within the system to create
13     * a toString String to send to the logger.
14     *
15 tdb 1.6 * @author $Author: tdb1 $
16     * @version $Id: FormatName.java,v 1.5 2001/02/25 20:32:50 tdb1 Exp $
17 ajm 1.1 */
18 ajm 1.2 public class FormatName {
19 ajm 1.1
20     //---FINAL ATTRIBUTES---
21    
22 tdb 1.5 /**
23     * An array of names of verbosity levels.
24 tdb 1.6 * Thus logging messages are now "classed" by the level
25 tdb 1.5 */
26     private final static String[] VERBOSITY_NAMES = {"FATAL ", "ERROR ", "WARNING", "SYSMSG ", "SYSINIT", "DEBUG "};
27    
28 ajm 1.1 //---STATIC METHODS---
29    
30     /**
31     * This method takes a set of information about the calling
32     * class and constructs a tidy String name to be returned.
33     * This is of use to the override of the toString() as
34     * implemented by most of the iscream objects.
35     *
36 ajm 1.2 * @param friendlyName the configured name of the instance of the calling component the class is in (eg "filter1")
37 ajm 1.1 * @param className the class name of the calling class, as obtained by getClass().getName()
38     * @param revision the CVS Revision number for the calling class
39     *
40     * @return an iscream standard name to be used as a toString()
41     */
42 ajm 1.2 public static String getName(String friendlyName, String className, String revision) {
43 tdb 1.5 if (friendlyName == null && className == null) {
44     return "{static(v" + revision.substring(11, revision.length() - 2) + ")}";
45     } else if (friendlyName == null) {
46 ajm 1.4 return "{"+ tidyClassName(className) + "(v" + revision.substring(11, revision.length() - 2) + ")}";
47 ajm 1.3 } else if (className == null) {
48     return friendlyName + "{static(v" + revision.substring(11, revision.length() - 2) + ")}";
49     } else {
50 ajm 1.4 return friendlyName + "{"+ tidyClassName(className) + "(v" + revision.substring(11, revision.length() - 2) + ")}";
51 ajm 1.1 }
52 ajm 1.4 }
53 tdb 1.5
54     /**
55     * This method generates a nicely formatted line for the log,
56     * including the date/time and the source of the message. The date
57     * and time are formatted using the DateFormat class, and the source
58     * class is formatted using the toString() method found in every
59     * source file. This is then prepended to the message and returned.
60     *
61     * @param source A string representation of the calling object.
62     * @param verbosity The verbosity of the message.
63     * @param message The message to be logged.
64     * @return The string to be written to the log.
65     */
66     public static String formatLogLine(String source, int verbosity, String message){
67     String date = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM).format(new Date());
68     return "[" + date + "] [" + VERBOSITY_NAMES[verbosity] + "] " + source + ": " + message;
69     }
70    
71 ajm 1.4 /**
72     * If the class name begins with uk.ac.ukc.iscream
73     * this method will trim it off, otherwise it
74     * leaves the string unchanged.
75     *
76     * @param className the name of a class
77     *
78     * @return the tidy version of it
79     */
80     private static String tidyClassName(String className) {
81     if (className.startsWith("uk.ac.ukc.iscream")) {
82     return className.substring(18);
83     }
84     return className;
85 ajm 1.1 }
86    
87     //---CONSTRUCTORS---
88    
89     /**
90     * A private constructor ensures an instance of this
91     * class CANNOT be created.
92     */
93 ajm 1.2 private FormatName() {
94 ajm 1.1 // do nothing on purpose!
95     }
96    
97     //---PUBLIC METHODS---
98    
99     //---PRIVATE METHODS---
100    
101     //---ACCESSOR/MUTATOR METHODS---
102    
103     //---ATTRIBUTES---
104    
105     //---STATIC ATTRIBUTES---
106    
107     }