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

COVERAGE SUMMARY FOR SOURCE FILE [ThreadLocalMessages.java]

nameclass, %method, %block, %line, %
ThreadLocalMessages.java100% (4/4)77%  (10/13)77%  (80/104)74%  (20/27)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class ThreadLocalMessages$2100% (1/1)50%  (1/2)60%  (3/5)50%  (1/2)
initialValue (): Object 0%   (0/1)0%   (0/2)0%   (0/1)
ThreadLocalMessages$2 (): void 100% (1/1)100% (3/3)100% (1/1)
     
class ThreadLocalMessages$1$1100% (1/1)75%  (3/4)72%  (39/54)69%  (9/13)
removeMessage (Message): void 0%   (0/1)0%   (0/15)0%   (0/4)
ThreadLocalMessages$1$1 (ThreadLocalMessages$1): void 100% (1/1)100% (9/9)100% (2/2)
addMessage (Message): void 100% (1/1)100% (24/24)100% (4/4)
clear (): void 100% (1/1)100% (6/6)100% (3/3)
     
class ThreadLocalMessages100% (1/1)80%  (4/5)81%  (30/37)80%  (8/10)
ThreadLocalMessages (): void 0%   (0/1)0%   (0/3)0%   (0/1)
isErrorsEnabled (): boolean 100% (1/1)69%  (9/13)75%  (3/4)
<static initializer> 100% (1/1)100% (9/9)100% (2/2)
getMessages (): Messages 100% (1/1)100% (4/4)100% (1/1)
setErrorsEnabled (boolean): void 100% (1/1)100% (8/8)100% (2/2)
     
class ThreadLocalMessages$1100% (1/1)100% (2/2)100% (8/8)100% (2/2)
ThreadLocalMessages$1 (): void 100% (1/1)100% (3/3)100% (1/1)
initialValue (): Object 100% (1/1)100% (5/5)100% (1/1)

1/*
2 *  jDTAUS Banking RI DTAUS
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.ri.zka;
22 
23import org.jdtaus.core.text.Message;
24import org.jdtaus.core.text.Messages;
25 
26/**
27 * Thread-local collections of messages.
28 *
29 * @author <a href="mailto:cs@schulte.it">Christian Schulte</a>
30 * @version $JDTAUS: ThreadLocalMessages.java 8661 2012-09-27 11:29:58Z schulte $
31 */
32public abstract class ThreadLocalMessages
33{
34 
35    /** Maximum number of messages added to the collection. */
36    private static final int MAXIMUM_MESSAGES = 100;
37 
38    /** Thread local collections of messages. */
39    private static final ThreadLocal current = new ThreadLocal()
40    {
41 
42        public Object initialValue()
43        {
44            return new Messages()
45            {
46 
47                /** Number of messages added to the instance. */
48                private int messageCount = 0;
49 
50                public void addMessage( final Message message )
51                {
52                    if ( this.messageCount + 1L <= Integer.MAX_VALUE && this.messageCount + 1 < MAXIMUM_MESSAGES )
53                    {
54                        this.messageCount++;
55                        super.addMessage( message );
56                    }
57                }
58 
59                public void removeMessage( final Message message )
60                {
61                    if ( this.messageCount - 1 >= 0 )
62                    {
63                        this.messageCount--;
64                        super.removeMessage( message );
65                    }
66                }
67 
68                public void clear()
69                {
70                    this.messageCount = 0;
71                    super.clear();
72                }
73 
74            };
75        }
76 
77    };
78 
79    /** {@code ThreadLocal} {@code Boolean}. */
80    private static final ThreadLocal errorsEnabled = new ThreadLocal()
81    {
82 
83        protected Object initialValue()
84        {
85            return Boolean.TRUE;
86        }
87 
88    };
89 
90    /**
91     * Flag indicating that {@code CorruptedException}s are enabled.
92     *
93     * @return {@code true} if a {@code CorruptedException} must be thrown whenever a file error is detected;
94     * {@code false} to not throw any exception when detecting a file error.
95     */
96    public static boolean isErrorsEnabled()
97    {
98        Boolean fatal = (Boolean) errorsEnabled.get();
99 
100        if ( fatal == null )
101        {
102            throw new IllegalStateException();
103        }
104 
105        return fatal.booleanValue();
106    }
107 
108    /**
109     * Setter for property {@code errorsEnabled}.
110     *
111     * @param value {@code true} if a {@code CorruptedException} should be thrown whenever a file error is detected;
112     * {@code false} to not throw any exception when detecting a file error.
113     */
114    public static void setErrorsEnabled( final boolean value )
115    {
116        errorsEnabled.set( value ? Boolean.TRUE : Boolean.FALSE );
117    }
118 
119    /**
120     * Gets the collection of messages stored with the current thread of execution.
121     *
122     * @return collection of messages stored with the current thread of execution.
123     */
124    public static Messages getMessages()
125    {
126        return (Messages) current.get();
127    }
128 
129}

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