EMMA Coverage Report (generated Tue Jan 14 00:37:43 CET 2014)
[all classes][org.jdtaus.core.container]

COVERAGE SUMMARY FOR SOURCE FILE [Message.java]

nameclass, %method, %block, %line, %
Message.java100% (1/1)64%  (9/14)75%  (118/158)60%  (21/35)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class Message100% (1/1)64%  (9/14)75%  (118/158)60%  (21/35)
getArguments (): Arguments 0%   (0/1)0%   (0/11)0%   (0/3)
getTemplate (): Text 0%   (0/1)0%   (0/11)0%   (0/3)
setArguments (Arguments): void 0%   (0/1)0%   (0/4)0%   (0/2)
setModuleName (String): void 0%   (0/1)0%   (0/4)0%   (0/2)
setTemplate (Text): void 0%   (0/1)0%   (0/4)0%   (0/2)
clone (): Object 100% (1/1)33%  (3/9)33%  (1/3)
Message (): void 100% (1/1)100% (3/3)100% (2/2)
equals (Object): boolean 100% (1/1)100% (33/33)100% (5/5)
getModuleName (): String 100% (1/1)100% (9/9)100% (3/3)
getName (): String 100% (1/1)100% (9/9)100% (3/3)
hashCode (): int 100% (1/1)100% (8/8)100% (1/1)
internalString (): String 100% (1/1)100% (38/38)100% (3/3)
setName (String): void 100% (1/1)100% (4/4)100% (2/2)
toString (): String 100% (1/1)100% (11/11)100% (1/1)

1/*
2 *  jDTAUS Core API
3 *  Copyright (C) 2005 Christian Schulte
4 *  <cs@schulte.it>
5 *
6 *  This library is free software; you can redistribute it and/or
7 *  modify it under the terms of the GNU Lesser General Public
8 *  License as published by the Free Software Foundation; either
9 *  version 2.1 of the License, or any later version.
10 *
11 *  This library is distributed in the hope that it will be useful,
12 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 *  Lesser General Public License for more details.
15 *
16 *  You should have received a copy of the GNU Lesser General Public
17 *  License along with this library; if not, write to the Free Software
18 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19 *
20 */
21package org.jdtaus.core.container;
22 
23import java.io.Serializable;
24 
25/**
26 * Message meta-data.
27 * <p>A message consists of the properties {@code name}, {@code template} and
28 * {@code arguments}. Property {@code name} holds a name uniquely identifying
29 * the message in a set of messages. Property {@code template} holds the
30 * template of the message. Property {@code arguments} holds meta-data
31 * describing arguments to format the message with.</p>
32 *
33 * @author <a href="mailto:cs@schulte.it">Christian Schulte</a>
34 * @version $JDTAUS: Message.java 8743 2012-10-07 03:06:20Z schulte $
35 */
36public class Message extends ModelObject implements Cloneable, Serializable
37{
38    //--Constants---------------------------------------------------------------
39 
40    /** Serial version UID for backwards compatibility with 1.5.x classes. */
41    private static final long serialVersionUID = 8433823757935477327L;
42 
43    //---------------------------------------------------------------Constants--
44    //--Message.----------------------------------------------------------------
45 
46    /**
47     * The name of the message.
48     * @serial
49     */
50    private String name;
51 
52    /**
53     * The name of the module holding the message.
54     * @serial
55     */
56    private String moduleName;
57 
58    /**
59     * The template of the message.
60     * @serial
61     */
62    private Text template;
63 
64    /**
65     * The arguments of the message.
66     * @serial
67     */
68    private Arguments arguments;
69 
70    /** Creates a new {@code Message} instance. */
71    public Message()
72    {
73        super();
74    }
75 
76    /**
77     * Gets the name of the message.
78     *
79     * @return the name of the message.
80     */
81    public String getName()
82    {
83        if ( this.name == null )
84        {
85            this.name = "";
86        }
87 
88        return this.name;
89    }
90 
91    /**
92     * Setter for property {@code name}.
93     *
94     * @param value the new name of the message.
95     */
96    public void setName( final String value )
97    {
98        this.name = value;
99    }
100 
101    /**
102     * Gets the name of the module holding the message.
103     *
104     * @return the name of the module holding the message.
105     */
106    public String getModuleName()
107    {
108        if ( this.moduleName == null )
109        {
110            this.moduleName = "";
111        }
112 
113        return this.moduleName;
114    }
115 
116    /**
117     * Setter for property {@code moduleName}.
118     *
119     * @param value the new name of the module holding the message.
120     */
121    public void setModuleName( final String value )
122    {
123        this.moduleName = value;
124    }
125 
126    /**
127     * Gets the template of the message.
128     *
129     * @return the template of the message.
130     */
131    public Text getTemplate()
132    {
133        if ( this.template == null )
134        {
135            this.template = new Text();
136        }
137 
138        return this.template;
139    }
140 
141    /**
142     * Setter for property {@code template}.
143     *
144     * @param value the new template of the message.
145     */
146    public void setTemplate( final Text value )
147    {
148        this.template = value;
149    }
150 
151    /**
152     * Gets the arguments of the message.
153     *
154     * @return the arguments of the message.
155     */
156    public Arguments getArguments()
157    {
158        if ( this.arguments == null )
159        {
160            this.arguments = new Arguments();
161        }
162 
163        return this.arguments;
164    }
165 
166    /**
167     * Setter for property {@code arguments}.
168     *
169     * @param value the new arguments of the message.
170     */
171    public void setArguments( final Arguments value )
172    {
173        this.arguments = value;
174    }
175 
176    /**
177     * Creates a string representing the properties of the instance.
178     *
179     * @return a string representing the properties of the instance.
180     */
181    private String internalString()
182    {
183        final StringBuffer buf = new StringBuffer( 500 ).append( '{' ).
184            append( this.internalString( this ) ).
185            append( ", name=" ).append( this.name ).
186            append( ", moduleName=" ).append( this.moduleName ).
187            append( ", template=" ).append( this.template ).
188            append( ", arguments=" ).append( this.arguments );
189 
190        buf.append( '}' );
191        return buf.toString();
192    }
193 
194    //----------------------------------------------------------------Template--
195    //--Object------------------------------------------------------------------
196 
197    /**
198     * Returns a string representation of the object.
199     *
200     * @return a string representation of the object.
201     */
202    public String toString()
203    {
204        return super.toString() + this.internalString();
205    }
206 
207    /**
208     * Creates and returns a copy of this object. This method  performs a
209     * "shallow copy" of this object, not a "deep copy" operation.
210     *
211     * @return a clone of this instance.
212     */
213    public Object clone()
214    {
215        try
216        {
217            return super.clone();
218        }
219        catch ( final CloneNotSupportedException e )
220        {
221            throw new AssertionError( e );
222        }
223    }
224 
225    /**
226     * Indicates whether some other object is equal to this one by comparing
227     * properties {@code name} and {@code moduleName}.
228     *
229     * @param o the reference object with which to compare.
230     *
231     * @return {@code true} if this object is the same as {@code o};
232     * {@code false} otherwise.
233     */
234    public final boolean equals( final Object o )
235    {
236        boolean equal = o == this;
237        if ( !equal && o instanceof Message )
238        {
239            final Message that = (Message) o;
240            equal = this.getName().equals( that.getName() ) &&
241                this.getModuleName().equals( that.getModuleName() );
242 
243        }
244 
245        return equal;
246    }
247 
248    /**
249     * Returns a hash code value for this object.
250     *
251     * @return a hash code value for this object.
252     */
253    public final int hashCode()
254    {
255        return this.getName().hashCode() + this.getModuleName().hashCode();
256    }
257 
258    //------------------------------------------------------------------Object--
259}

[all classes][org.jdtaus.core.container]
EMMA 2.1.5320 (stable) (C) Vladimir Roubtsov