src/share/jaxws_classes/javax/xml/bind/annotation/adapters/NormalizedStringAdapter.java

Print this page
rev 507 : 8047724: @since tag cleanup in jaxws
Reviewed-by:


  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.