Class PrimitiveXNodeImpl<T>

    • Constructor Detail

      • PrimitiveXNodeImpl

        public PrimitiveXNodeImpl()
      • PrimitiveXNodeImpl

        public PrimitiveXNodeImpl​(T value)
    • Method Detail

      • setValueParser

        public void setValueParser​(ValueParser<T> valueParser)
      • setValue

        public void setValue​(T value,
                             QName typeQName)
      • isAttribute

        public boolean isAttribute()
      • setAttribute

        public void setAttribute​(boolean isAttribute)
      • getParsedValueWithoutRecording

        public T getParsedValueWithoutRecording​(QName typeName)
                                         throws SchemaException
        Returns parsed value without actually changing node state from UNPARSED to PARSED (if node is originally unparsed). Useful when we are not sure about the type name and do not want to record parsed value based on wrong type name.
        Throws:
        SchemaException
      • getFormattedValue

        public String getFormattedValue()
        Returns a value that is correctly string-formatted according to its type definition. Works properly only if definition is set.
      • getGuessedFormattedValue

        public String getGuessedFormattedValue()
                                        throws SchemaException
        Returns formatted parsed value without actually changing node state from UNPARSED to PARSED (if node is originally unparsed). Useful e.g. to serialize nodes that have a type declaration but were not parsed yet. Experimental. Should be thought through yet.
        Specified by:
        getGuessedFormattedValue in interface PrimitiveXNode<T>
        Returns:
        properly formatted value
        Throws:
        SchemaException
      • getStringValue

        public String getStringValue()
        Description copied from interface: PrimitiveXNode
        Returns the value represented as string - in the best format that we can. There is no guarantee that the returned value will be precise. This method is used as a "last instance" if everything else fails. Invocation of this method will not change the state of this xnode, e.g. it will NOT cause it to be parsed.
        Specified by:
        getStringValue in interface PrimitiveXNode<T>
      • getRelevantNamespaceDeclarations

        public Map<String,​String> getRelevantNamespaceDeclarations()
        This method is used with conjunction with getStringValue, typically when serializing unparsed values. Because the string value can represent QName or ItemPath, we have to provide relevant namespace declarations. Because we cannot know for sure, we are allowed to return namespace declarations that are not actually used. We should minimize number of such declarations, however. Current implementation simply grabs all potential namespace declarations and searches the xnode's string value for any 'prefix:' substrings. I'm afraid it is all we can do for now. THIS METHOD SHOULD BE CALLED ONLY ON EITHER UNPARSED OR EMPTY NODES.
        Returns:
      • hashCode

        public int hashCode()
        The basic idea of equals() is: - if parsed, compare the value; - if unparsed, compare getStringValue() Therefore the hashcode is generated based on value (if parsed) or getStringValue() (if unparsed).
        Overrides:
        hashCode in class Object