## net.sf.saxon.value
Class RestrictedStringValue

    java.lang.Object
      net.sf.saxon.value.Value
          net.sf.saxon.value.AtomicValue
              net.sf.saxon.value.StringValue
                  net.sf.saxon.value.RestrictedStringValue

All Implemented Interfaces:
  Expression, Item, java.io.Serializable, ValueRepresentation

public final class RestrictedStringValue
extends StringValue

A value conforming to one of the built-in subtypes of String, specifically normalizedString, token, language, Name, NCName, ID, IDREF, ENTITY, NMTOKEN. This class doesnt' handle the types derived by list: IDREFS, NMTOKENS, ENTITIES.

See Also:
  Serialized Form

Nested Class Summary

Nested classes inherited from class net.sf.saxon.value.StringValue
`StringValue.CharacterIterator`

Field Summary

Fields inherited from class net.sf.saxon.value.StringValue
`EMPTY_STRING, length, SINGLE_SPACE, value`

Fields inherited from class net.sf.saxon.value.Value
`EMPTY_CLASS_ARRAY`

Fields inherited from interface net.sf.saxon.om.ValueRepresentation
`EMPTY_VALUE_ARRAY`

Fields inherited from interface net.sf.saxon.expr.Expression
`EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD`

Constructor Summary
`RestrictedStringValue()`

Method Summary
`AtomicValue` `convertPrimitive(BuiltInAtomicType requiredType, boolean validate, XPathContext context)` Convert to target data type
`ItemType` `getItemType(TypeHierarchy th)` Return the type of the expression
`static AtomicValue` `makeRestrictedString(java.lang.CharSequence value, int type, NameChecker checker)` Factory method to create a restricted string value from a string
`java.lang.String` `toString()` Get string value.

Methods inherited from class net.sf.saxon.value.StringValue
`contract, convertStringToAtomicType, convertStringToBuiltInType, convertToJava, effectiveBooleanValue, equals, expand, getStringLength, getStringLength, getStringValue, getStringValueCS, hashCode, iterateCharacters, makeStringValue, schemaEquals`

Methods inherited from class net.sf.saxon.value.AtomicValue
`checkPermittedContents, convert, convert, display, evaluateAsString, evaluateItem, getCardinality, getComponent, getImplementationMethod, getLength, getPrimitiveValue, getTypedValue, hasBuiltInType, iterate, process`

Methods inherited from class net.sf.saxon.value.Value
`asItem, asIterator, asValue, collapseWhitespace, convert, convertJavaObjectToXPath, getDependencies, getIterator, getParentExpression, getSpecialProperties, itemAt, iterateSubExpressions, makeQNameValue, normalizeWhitespace, optimize, promote, reduce, simplify, stringToNumber, trimWhitespace, typeCheck`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### RestrictedStringValue

    public RestrictedStringValue()

Method Detail

### makeRestrictedString

    public static AtomicValue makeRestrictedString(java.lang.CharSequence value,
                                                   int type,
                                                   NameChecker checker)

  Factory method to create a restricted string value from a string

  Parameters:
    `value` - the String value. Null is taken as equivalent to "".
    `checker` - a NameChecker if validation is required, null if the caller already knows that the value is valid
  Returns:
    either the required RestrictedStringValue if the value is valid, or an ErrorValue encapsulating the error message if not.

### getItemType

    public ItemType getItemType(TypeHierarchy th)

  Return the type of the expression

  Specified by:
    `getItemType` in interface `Expression`
  Overrides:
    `getItemType` in class `StringValue`
  Parameters:
    `th` -
  Returns:
    Type.STRING (always)

### convertPrimitive

    public AtomicValue convertPrimitive(BuiltInAtomicType requiredType,
                                        boolean validate,
                                        XPathContext context)

  Convert to target data type

  Overrides:
    `convertPrimitive` in class `StringValue`
  Parameters:
    `requiredType` - an integer identifying the required atomic type
    `context` -
    `validate` - true if validation is required. If set to false, the caller guarantees that the value is valid for the target data type, and that further validation is therefore not required. Note that a validation failure may be reported even if validation was not requested.
  Returns:
    an AtomicValue, a value of the required type; or an ErrorValue

### toString

    public java.lang.String toString()

  Description copied from class: `AtomicValue`
  Get string value. In general toString() for an atomic value displays the value as it would be written in XPath: that is, as a literal if available, or as a call on a constructor function otherwise.

  Overrides:
    `toString` in class `StringValue`