KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > util > misc > lib > DefaultStringBufferizableBase


1 /*====================================================================
2
3 ObjectWeb Util Package.
4 Copyright (C) 2000-2004 INRIA & USTL - LIFL - GOAL
5 Contact: architecture@objectweb.org
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 2.1 of the License, or any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public
18 License along with this library; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20 USA
21
22 Initial developer(s): Philippe Merle.
23 Contributor(s): ______________________________________.
24
25 --------------------------------------------------------------------
26 $Id: DefaultStringBufferizableBase.java,v 1.1 2004/02/13 17:46:07 rouvoy Exp $
27 ====================================================================*/

28
29 package org.objectweb.util.misc.lib;
30
31 /**
32  * This is an abstract default implementation of the interface
33  * org.objectweb.util.api.StringBufferizable.
34  *
35  * Moreover, this implements the java.lang.Object.toString method.
36  *
37  * Subclasses must implement the appendInternalState method.
38  *
39  * @author <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>
40  *
41  * @version 0.1
42  */

43
44 public abstract class DefaultStringBufferizableBase
45               extends StringBufferHelper
46            implements org.objectweb.util.misc.api.StringBufferizable
47 {
48     // ==================================================================
49
//
50
// Internal state.
51
//
52
// ==================================================================
53

54     // ==================================================================
55
//
56
// Constructors.
57
//
58
// ==================================================================
59

60     /** The default constructor. */
61     public
62     DefaultStringBufferizableBase()
63     {
64     }
65
66     // ==================================================================
67
//
68
// Internal methods.
69
//
70
// ==================================================================
71

72     /**
73      * Appends internal state representation into the given string buffer.
74      *
75      * This method does not update the target object.
76      *
77      * @param sb The string buffer where pairs <name,value> are appended.
78      */

79     abstract protected void
80     appendInternalState(StringBuffer JavaDoc sb);
81
82     // ==================================================================
83
//
84
// Public methods for class java.lang.Object
85
//
86
// ==================================================================
87

88     /**
89      * Returns a string representation of the target object.
90      *
91      * By default:
92      * getClass().getName() + '[' + { name=value } + ']'
93      *
94      * @return A string representation of the target object.
95      */

96     public String JavaDoc
97     toString()
98     {
99         // The string buffer into the string representation is appended.
100
StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
101         toStringBuffer(sb);
102         return sb.toString();
103     }
104
105     // ==================================================================
106
//
107
// Public methods for interface org.objectweb.util.api.StringBufferizable
108
//
109
// ==================================================================
110

111     /**
112      * Puts the target object to a java.lang.StringBuffer buffer.
113      *
114      * By default:
115      * getClass().getName() + '[' + { name=value } + ']'
116      *
117      * @param sb The java.lang.StringBuffer buffer.
118      */

119     public void
120     toStringBuffer(java.lang.StringBuffer JavaDoc sb)
121     {
122         // Appends the full class name.
123
sb.append(getClass().getName());
124         sb.append('[');
125
126         // Appends internal state to the string buffer.
127
appendInternalState(sb);
128
129         sb.append(']');
130     }
131
132     // ==================================================================
133
//
134
// Other public methods.
135
//
136
// ==================================================================
137
}
138
Popular Tags