FileDocCategorySizeDatePackage
Token.javaAPI DocApache Axis 1.43648Sat Apr 22 18:57:26 BST 2006org.apache.axis.types

Token

public class Token extends NormalizedString
Custom class for supporting primitive XSD data type Token. token represents tokenized strings. The base type of token is normalizedString.
author
Chris Haddad
see
XML Schema 3.3.2

Fields Summary
Constructors Summary
public Token()

        super();
    
public Token(String stValue)
ctor for Token

exception
IllegalArgumentException will be thrown if validation fails

        try {
            setValue(stValue);
        }
        catch (IllegalArgumentException e) {
            // recast normalizedString exception as token exception
            throw new IllegalArgumentException(
                    Messages.getMessage("badToken00") + "data=[" +
                    stValue + "]");
        }
    
Methods Summary
public static booleanisValid(java.lang.String stValue)
validate the value against the xsd definition The value space of token is the set of strings that do not contain the line feed (#xA) nor tab (#x9) characters, that have no leading or trailing spaces (#x20) and that have no internal sequences of two or more spaces. The lexical space of token is the set of strings that do not contain the line feed (#xA) nor tab (#x9) characters, that have no leading or trailing spaces (#x20) and that have no internal sequences of two or more spaces.

        int scan;
        // check to see if we have a string to review
        if (  (stValue == null) || (stValue.length() == 0)  )
            return true;
            
        // no leading space
        if (stValue.charAt(0) == 0x20)
            return false;

        // no trail space
        if (stValue.charAt(stValue.length() - 1) == 0x20)
            return false;

        for (scan=0; scan < stValue.length(); scan++) {
            char cDigit = stValue.charAt(scan);
            switch (cDigit) {
                case 0x09:
                case 0x0A:
                    return false;
                case 0x20:
                   // no doublspace
                    if (scan+1 < stValue.length())
                        if (stValue.charAt(scan + 1) == 0x20) {
                            return false;
                        }
                default:
                    break;
            }
        }
        return true;
    
public voidsetValue(java.lang.String stValue)
validates the data and sets the value for the object.

param
stValue String value
throws
IllegalArgumentException if invalid format

        if (Token.isValid(stValue) == false)
            throw new IllegalArgumentException(
               Messages.getMessage("badToken00") +
               " data=[" + stValue + "]");
        m_value = stValue;