18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package javax.xml.bind.annotation.adapters;
27
28
29
30 /**
31 * {@link XmlAdapter} to handle <tt>xs:normalizedString</tt>.
32 *
33 * <p>
34 * Replaces any tab, CR, and LF by a whitespace character ' ',
35 * as specified in <a href="http://www.w3.org/TR/xmlschema-2/#rf-whiteSpace">the whitespace facet 'replace'</a>
36 *
37 * @author Kohsuke Kawaguchi, Martin Grebac
38 * @since JAXB 2.0
39 */
40 public final class NormalizedStringAdapter extends XmlAdapter<String,String> {
41 /**
42 * Replace any tab, CR, and LF by a whitespace character ' ',
43 * as specified in <a href="http://www.w3.org/TR/xmlschema-2/#rf-whiteSpace">the whitespace facet 'replace'</a>
44 */
45 public String unmarshal(String text) {
46 if(text==null) return null; // be defensive
47
48 int i=text.length()-1;
49
50 // look for the first whitespace char.
51 while( i>=0 && !isWhiteSpaceExceptSpace(text.charAt(i)) )
52 i--;
53
54 if( i<0 )
55 // no such whitespace. replace(text)==text.
56 return text;
57
58 // we now know that we need to modify the text.
|
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package javax.xml.bind.annotation.adapters;
27
28
29
30 /**
31 * {@link XmlAdapter} to handle <tt>xs:normalizedString</tt>.
32 *
33 * <p>
34 * Replaces any tab, CR, and LF by a whitespace character ' ',
35 * as specified in <a href="http://www.w3.org/TR/xmlschema-2/#rf-whiteSpace">the whitespace facet 'replace'</a>
36 *
37 * @author Kohsuke Kawaguchi, Martin Grebac
38 * @since 1.6, JAXB 2.0
39 */
40 public final class NormalizedStringAdapter extends XmlAdapter<String,String> {
41 /**
42 * Replace any tab, CR, and LF by a whitespace character ' ',
43 * as specified in <a href="http://www.w3.org/TR/xmlschema-2/#rf-whiteSpace">the whitespace facet 'replace'</a>
44 */
45 public String unmarshal(String text) {
46 if(text==null) return null; // be defensive
47
48 int i=text.length()-1;
49
50 // look for the first whitespace char.
51 while( i>=0 && !isWhiteSpaceExceptSpace(text.charAt(i)) )
52 i--;
53
54 if( i<0 )
55 // no such whitespace. replace(text)==text.
56 return text;
57
58 // we now know that we need to modify the text.
|