Project Report: fawkez

Packagesummary org.jcoderz.commons.logging

org.jcoderz.commons.logging.AsItIsFormat

LineHitsNoteSource
1  /*
2   * $Id: AsItIsFormat.java 1011 2008-06-16 17:57:36Z amandel $
3   *
4   * Copyright 2006, The jCoderZ.org Project. All rights reserved.
5   *
6   * Redistribution and use in source and binary forms, with or without
7   * modification, are permitted provided that the following conditions are
8   * met:
9   *
10   *    * Redistributions of source code must retain the above copyright
11   *      notice, this list of conditions and the following disclaimer.
12   *    * Redistributions in binary form must reproduce the above
13   *      copyright notice, this list of conditions and the following
14   *      disclaimer in the documentation and/or other materials
15   *      provided with the distribution.
16   *    * Neither the name of the jCoderZ.org Project nor the names of
17   *      its contributors may be used to endorse or promote products
18   *      derived from this software without specific prior written
19   *      permission.
20   *
21   * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND
22   * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24   * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS
25   * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26   * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27   * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
28   * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
29   * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
30   * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
31   * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32   */
33  package org.jcoderz.commons.logging;
34  
35  import java.text.FieldPosition;
36  import java.text.Format;
37  import java.text.ParsePosition;
38  import java.util.StringTokenizer;
39  
40  /**
41   * This Format class is used for formatting a String as it is, i.e. do no
42   * formatting of the String. For enabling this as a parser for the format,
43   * delimiters can be set when constructing an instance of this. But if this
44   * functionality is actually desired, one has to be sure the delimiter is not
45   * part of the string to format otherwise the result might not be as expected.
46   *
47   */
48 (1)public final class AsItIsFormat
49        extends Format
50  {
51     private static final long serialVersionUID = 3905519414995792952L;
52  
53     private final String mDelimiters;
54  
55     /**
56      * Constructor, saves the delimiters for parsing. When this is used for
57      * parsing a String, the delimiters work as for a StringTokenizer.
58      *
59      * @param delimiters String containing delimiting chars, used when parsing.
60      */
61     public AsItIsFormat (final String delimiters)
62100    {
63100       if (delimiters == null || delimiters.length() == 0)
64        {
650          mDelimiters = null;
66        }
67        else
68        {
69100          mDelimiters = delimiters;
70        }
71100    }
72  
73     /** {@inheritDoc} */
74     public Object parseObject (String source, ParsePosition pos)
75     {
76100       String rc = null;
77  
78100       final String string = source.substring(pos.getIndex());
79100       if (mDelimiters == null)
80        {
810          rc = string;
820          pos.setIndex(source.length());
83        }
84        else
85        {
86100          final StringTokenizer tokenizer = new StringTokenizer(
87                 string, mDelimiters);
88100          if (tokenizer.hasMoreTokens())
89           {
90100             rc = tokenizer.nextToken();
91100             pos.setIndex(pos.getIndex() + rc.length());
92           }
93           else
94           {
950             pos.setErrorIndex(pos.getIndex());
96           }
97        }
98100       return rc;
99     }
100  
101     /** {@inheritDoc} */
102     public StringBuffer format (
103           Object obj,
104           StringBuffer toAppendTo,
105           FieldPosition pos)
106     {
107100       if (! (obj instanceof String))
108        {
1090          throw new IllegalArgumentException("Supplied object to be formatted "
110                 + "must be a String but is " + obj.getClass().getName() + ": "
111                 + obj);
112        }
113100       pos.setBeginIndex(0);
114100       pos.setEndIndex(0);
115100       toAppendTo.append(obj);
116100       return toAppendTo;
117     }
118  }

Findings in this File

c (1) 48 : 0 Type Javadoc comment is missing an @author tag.