EMMA Coverage Report (generated Tue Dec 09 03:51:57 CET 2014)
[all classes][org.jdtaus.banking.dtaus]

COVERAGE SUMMARY FOR SOURCE FILE [Header.java]

nameclass, %method, %block, %line, %
Header.java100% (1/1)100% (24/24)98%  (512/520)97%  (80.8/83)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class Header100% (1/1)100% (24/24)98%  (512/520)97%  (80.8/83)
clone (): Object 100% (1/1)81%  (25/31)75%  (6/8)
equals (Object): boolean 100% (1/1)99%  (136/138)95%  (4.8/5)
Header (): void 100% (1/1)100% (6/6)100% (3/3)
getAccount (): Kontonummer 100% (1/1)100% (3/3)100% (1/1)
getBank (): Bankleitzahl 100% (1/1)100% (3/3)100% (1/1)
getBankData (): Bankleitzahl 100% (1/1)100% (3/3)100% (1/1)
getCreateDate (): Date 100% (1/1)100% (10/10)100% (1/1)
getCurrency (): Currency 100% (1/1)100% (3/3)100% (1/1)
getCustomer (): AlphaNumericText27 100% (1/1)100% (3/3)100% (1/1)
getExecutionDate (): Date 100% (1/1)100% (10/10)100% (1/1)
getReference (): Referenznummer10 100% (1/1)100% (3/3)100% (1/1)
getType (): LogicalFileType 100% (1/1)100% (3/3)100% (1/1)
hashCode (): int 100% (1/1)100% (129/129)100% (13/13)
internalString (): String 100% (1/1)100% (55/55)100% (1/1)
setAccount (Kontonummer): void 100% (1/1)100% (7/7)100% (3/3)
setBank (Bankleitzahl): void 100% (1/1)100% (7/7)100% (3/3)
setBankData (Bankleitzahl): void 100% (1/1)100% (7/7)100% (3/3)
setCreateDate (Date): void 100% (1/1)100% (30/30)100% (11/11)
setCurrency (Currency): void 100% (1/1)100% (7/7)100% (3/3)
setCustomer (AlphaNumericText27): void 100% (1/1)100% (7/7)100% (3/3)
setExecutionDate (Date): void 100% (1/1)100% (30/30)100% (11/11)
setReference (Referenznummer10): void 100% (1/1)100% (7/7)100% (3/3)
setType (LogicalFileType): void 100% (1/1)100% (7/7)100% (3/3)
toString (): String 100% (1/1)100% (11/11)100% (1/1)

1/*
2 *  jDTAUS Banking 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.banking.dtaus;
22 
23import java.io.Serializable;
24import java.util.Calendar;
25import java.util.Currency;
26import java.util.Date;
27import org.jdtaus.banking.AlphaNumericText27;
28import org.jdtaus.banking.Bankleitzahl;
29import org.jdtaus.banking.Kontonummer;
30import org.jdtaus.banking.Referenznummer10;
31 
32/**
33 * "A" record.
34 *
35 * @author <a href="mailto:cs@schulte.it">Christian Schulte</a>
36 * @version $JDTAUS: Header.java 8661 2012-09-27 11:29:58Z schulte $
37 */
38public class Header implements Cloneable, Serializable
39{
40 
41    /** Constant for the name of property {@code customer}. */
42    public static final String PROP_CUSTOMER = "org.jdtaus.banking.dtaus.Header.PROP_CUSTOMER";
43 
44    /** Constant for the name of property {@code account}. */
45    public static final String PROP_ACCOUNT = "org.jdtaus.banking.dtaus.Header.PROP_ACCOUNT";
46 
47    /** Constant for the name of property {@code bank}. */
48    public static final String PROP_BANK = "org.jdtaus.banking.dtaus.Header.PROP_BANK";
49 
50    /** Constant for the name of property {@code type}. */
51    public static final String PROP_TYPE = "org.jdtaus.banking.dtaus.Header.PROP_TYPE";
52 
53    /** Constant for the name of property {@code currency}. */
54    public static final String PROP_CURRENCY = "org.jdtaus.banking.dtaus.Header.PROP_CURRENCY";
55 
56    /** Constant for the name of property {@code reference}. */
57    public static final String PROP_REFERENCE = "org.jdtaus.banking.dtaus.Header.PROP_REFERENCE";
58 
59    /** Constant for the name of property {@code bankData}. */
60    public static final String PROP_BANKDATA = "org.jdtaus.banking.dtaus.Header.PROP_BANKDATA";
61 
62    /** Constant for the name of property {@code createDate}. */
63    public static final String PROP_CREATEDATE = "org.jdtaus.banking.dtaus.Header.PROP_CREATEDATE";
64 
65    /** Constant for the name of property {@code executionDate}. */
66    public static final String PROP_EXECUTIONDATE = "org.jdtaus.banking.dtaus.Header.PROP_EXECUTIONDATE";
67 
68    /** Serial version UID for backwards compatibility with 1.0.x classes. */
69    private static final long serialVersionUID = -5704199858711059732L;
70 
71    /**
72     * Name of the customer a logical file belongs to.
73     * @serial
74     */
75    private AlphaNumericText27 customer;
76 
77    /**
78     * Code of the account a logical file belongs to.
79     * @serial
80     */
81    private Kontonummer account;
82 
83    /**
84     * Code of the bank a logical file belongs to.
85     * @serial
86     */
87    private Bankleitzahl bank;
88 
89    /**
90     * Type of a logical file.
91     * @serial
92     */
93    private LogicalFileType type;
94 
95    /**
96     * Currency of a logical file.
97     * @serial
98     */
99    private Currency currency;
100 
101    /**
102     * Reference code of a logical file.
103     * @serial
104     */
105    private Referenznummer10 reference;
106 
107    /**
108     * Create date of a logical file.
109     * @serial
110     */
111    private Date createDate;
112 
113    /**
114     * Execution date of a logical file.
115     * @serial
116     */
117    private Date executionDate;
118 
119    /**
120     * Bank internal data.
121     * @serial
122     */
123    private Bankleitzahl bankData;
124 
125    /** Cached hash code. */
126    private transient int hashCode = NO_HASHCODE;
127    private static final int NO_HASHCODE = Integer.MIN_VALUE;
128 
129    /** Creates a new {@code Header} instance. */
130    public Header()
131    {
132        super();
133    }
134 
135    /**
136     * Getter for property {@code customer}.
137     *
138     * @return Name of the customer a logical file belongs to.
139     */
140    public AlphaNumericText27 getCustomer()
141    {
142        return this.customer;
143    }
144 
145    /**
146     * Setter for property {@code customer}.
147     *
148     * @param value Name of the customer a logical file belongs to.
149     */
150    public void setCustomer( final AlphaNumericText27 value )
151    {
152        this.customer = value;
153        this.hashCode = NO_HASHCODE;
154    }
155 
156    /**
157     * Getter for property {@code account}.
158     *
159     * @return Code of the account a logical file belongs to.
160     */
161    public Kontonummer getAccount()
162    {
163        return this.account;
164    }
165 
166    /**
167     * Setter for property {@code account}.
168     *
169     * @param value Code of the account a logical file belongs to.
170     */
171    public void setAccount( final Kontonummer value )
172    {
173        this.account = value;
174        this.hashCode = NO_HASHCODE;
175    }
176 
177    /**
178     * Getter for property {@code bank}.
179     *
180     * @return Code of the bank a logical file belongs to.
181     */
182    public Bankleitzahl getBank()
183    {
184        return this.bank;
185    }
186 
187    /**
188     * Setter for property {@code bank}.
189     *
190     * @param value Code of the bank a logical file belongs to.
191     */
192    public void setBank( final Bankleitzahl value )
193    {
194        this.bank = value;
195        this.hashCode = NO_HASHCODE;
196    }
197 
198    /**
199     * Getter for property {@code type}.
200     *
201     * @return The type of a logical file.
202     */
203    public LogicalFileType getType()
204    {
205        return this.type;
206    }
207 
208    /**
209     * Setter for property {@code type}.
210     *
211     * @param value The type of a logical file.
212     */
213    public void setType( final LogicalFileType value )
214    {
215        this.type = value;
216        this.hashCode = NO_HASHCODE;
217    }
218 
219    /**
220     * Getter for property {@code currency}.
221     *
222     * @return Currency of a logical file.
223     */
224    public Currency getCurrency()
225    {
226        return this.currency;
227    }
228 
229    /**
230     * Setter for property {@code currency}.
231     *
232     * @param value Currency for a logical file.
233     */
234    public void setCurrency( final Currency value )
235    {
236        this.currency = value;
237        this.hashCode = NO_HASHCODE;
238    }
239 
240    /**
241     * Getter for property {@code reference}.
242     *
243     * @return Reference code of a logical file or {@code null}.
244     */
245    public Referenznummer10 getReference()
246    {
247        return this.reference;
248    }
249 
250    /**
251     * Setter for property {@code reference}.
252     *
253     * @param value Reference code of a logical file or {@code null}.
254     */
255    public void setReference( final Referenznummer10 value )
256    {
257        this.reference = value;
258        this.hashCode = NO_HASHCODE;
259    }
260 
261    /**
262     * Getter for property {@code createDate}.
263     *
264     * @return Create date of a logical file.
265     */
266    public Date getCreateDate()
267    {
268        return this.createDate != null ? (Date) this.createDate.clone() : null;
269    }
270 
271    /**
272     * Setter for property {@code createDate}.
273     *
274     * @param value Create date of a logical file.
275     */
276    public void setCreateDate( final Date value )
277    {
278        this.createDate = null;
279        this.hashCode = NO_HASHCODE;
280 
281        if ( value != null )
282        {
283            final Calendar cal = Calendar.getInstance();
284            cal.setTime( value );
285            cal.clear( Calendar.HOUR_OF_DAY );
286            cal.clear( Calendar.MINUTE );
287            cal.clear( Calendar.SECOND );
288            cal.clear( Calendar.MILLISECOND );
289            this.createDate = cal.getTime();
290        }
291    }
292 
293    /**
294     * Getter for property {@code executionDate}.
295     *
296     * @return Execution date of a logical file or {@code null}.
297     */
298    public Date getExecutionDate()
299    {
300        return this.executionDate != null ? (Date) this.executionDate.clone() : null;
301    }
302 
303    /**
304     * Setter for property {@code executionDate}.
305     *
306     * @param value Execution date of a logical file or {@code null}.
307     */
308    public void setExecutionDate( final Date value )
309    {
310        this.executionDate = null;
311        this.hashCode = NO_HASHCODE;
312 
313        if ( value != null )
314        {
315            final Calendar cal = Calendar.getInstance();
316            cal.setTime( value );
317            cal.clear( Calendar.HOUR_OF_DAY );
318            cal.clear( Calendar.MINUTE );
319            cal.clear( Calendar.SECOND );
320            cal.clear( Calendar.MILLISECOND );
321            this.executionDate = cal.getTime();
322        }
323    }
324 
325    /**
326     * Getter for property {@code bankData}.
327     *
328     * @return Bank internal data.
329     */
330    public Bankleitzahl getBankData()
331    {
332        return this.bankData;
333    }
334 
335    /**
336     * Setter for property {@code bankData}.
337     *
338     * @param value Bank internal data.
339     */
340    public void setBankData( final Bankleitzahl value )
341    {
342        this.bankData = value;
343        this.hashCode = NO_HASHCODE;
344    }
345 
346    /**
347     * Indicates whether some other object is equal to this one by comparing the values of all properties.
348     *
349     * @param o The reference object with which to compare.
350     *
351     * @return {@code true} if this object is the same as {@code o}; {@code false} otherwise.
352     */
353    public boolean equals( final Object o )
354    {
355        boolean ret = o == this;
356 
357        if ( !ret && o instanceof Header )
358        {
359            final Header that = (Header) o;
360            ret = ( this.getAccount() == null
361                    ? that.getAccount() == null : this.getAccount().equals( that.getAccount() ) ) &&
362                  ( this.getBank() == null
363                    ? that.getBank() == null : this.getBank().equals( that.getBank() ) ) &&
364                  ( this.getBankData() == null
365                    ? that.getBankData() == null : this.getBankData().equals( that.getBankData() ) ) &&
366                  ( this.getCurrency() == null
367                    ? that.getCurrency() == null : this.getCurrency().equals( that.getCurrency() ) ) &&
368                  ( this.getCustomer() == null
369                    ? that.getCustomer() == null : this.getCustomer().equals( that.getCustomer() ) ) &&
370                  ( this.getType() == null
371                    ? that.getType() == null : this.getType().equals( that.getType() ) ) &&
372                  ( this.getReference() == null
373                    ? that.getReference() == null : this.getReference().equals( that.getReference() ) ) &&
374                  ( this.getCreateDate() == null
375                    ? that.getCreateDate() == null : this.getCreateDate().equals( that.getCreateDate() ) ) &&
376                  ( this.getExecutionDate() == null
377                    ? that.getExecutionDate() == null : this.getExecutionDate().equals( that.getExecutionDate() ) );
378 
379        }
380 
381        return ret;
382    }
383 
384    /**
385     * Returns a hash code value for this object.
386     *
387     * @return A hash code value for this object.
388     */
389    public int hashCode()
390    {
391        if ( this.hashCode == NO_HASHCODE )
392        {
393            int hc = 23;
394            hc = 37 * hc + ( this.account == null ? 0 : this.account.hashCode() );
395            hc = 37 * hc + ( this.bank == null ? 0 : this.bank.hashCode() );
396            hc = 37 * hc + ( this.bankData == null ? 0 : this.bankData.hashCode() );
397            hc = 37 * hc + ( this.currency == null ? 0 : this.currency.hashCode() );
398            hc = 37 * hc + ( this.customer == null ? 0 : this.customer.hashCode() );
399            hc = 37 * hc + ( this.type == null ? 0 : this.type.hashCode() );
400            hc = 37 * hc + ( this.reference == null ? 0 : this.reference.hashCode() );
401            hc = 37 * hc + ( this.createDate == null ? 0 : this.createDate.hashCode() );
402            hc = 37 * hc + ( this.executionDate == null ? 0 : this.executionDate.hashCode() );
403            this.hashCode = hc;
404        }
405 
406        return this.hashCode;
407    }
408 
409    /**
410     * Creates and returns a copy of this object.
411     *
412     * @return A clone of this instance.
413     */
414    public Object clone()
415    {
416        try
417        {
418            final Object o = super.clone();
419            if ( this.createDate != null )
420            {
421                ( (Header) o ).createDate = (Date) this.createDate.clone();
422            }
423            if ( this.executionDate != null )
424            {
425                ( (Header) o ).executionDate = (Date) this.executionDate.clone();
426            }
427 
428            return o;
429        }
430        catch ( final CloneNotSupportedException e )
431        {
432            throw new AssertionError( e );
433        }
434    }
435 
436    /**
437     * Returns a string representation of the object.
438     *
439     * @return A string representation of the object.
440     */
441    public String toString()
442    {
443        return super.toString() + this.internalString();
444    }
445 
446    /**
447     * Creates a string representing the properties of the instance.
448     *
449     * @return A string representing the properties of the instance.
450     */
451    private String internalString()
452    {
453        return new StringBuffer( 150 ).append( '{' ).
454            append( "account=" ).append( this.account ).
455            append( ", bank=" ).append( this.bank ).
456            append( ", bankData=" ).append( this.bankData ).
457            append( ", currency=" ).append( this.currency ).
458            append( ", customer=" ).append( (Object) this.customer ).
459            append( ", createDate=" ).append( this.createDate ).
460            append( ", executionDate=" ).append( this.executionDate ).
461            append( ", type=" ).append( this.type ).
462            append( ", reference=" ).append( this.reference ).
463            append( '}' ).toString();
464 
465    }
466 
467}

[all classes][org.jdtaus.banking.dtaus]
EMMA 2.1.5320 (stable) (C) Vladimir Roubtsov