Interface TypeStoreUser

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void attach_store​(TypeStore store)
      Called to attach to the given textStore.
      boolean build_nil()
      A store will call back on build_nil after you've called invalidate_nil and it needs to know what the nil value is.
      java.lang.String build_text​(NamespaceManager nsm)
      A store will call back on build_text when it knows its own text is invalid and needs to fill it in.
      TypeStoreUser create_attribute_user​(javax.xml.namespace.QName attrName)
      A typestore user can create a new TypeStoreUser instance for a given attribute child, based on the attribute name.
      TypeStoreUser create_element_user​(javax.xml.namespace.QName eltName, javax.xml.namespace.QName xsiType)
      A typestore user can create a new TypeStoreUser instance for a given element child name as long as you also pass the qname contained by the xsi:type attribute, if any.
      void disconnect_store()
      A store calls back on this call in order to force a disconnect.
      SchemaField get_attribute_field​(javax.xml.namespace.QName attrName)
      Returns the schema field for an attribute
      SchemaType get_attribute_type​(javax.xml.namespace.QName attrName)
      Return the SchemaType which an attribute of this name would be.
      int get_attributeflags​(javax.xml.namespace.QName attrName)
      Returns the flags for an attribute.
      java.lang.String get_default_attribute_text​(javax.xml.namespace.QName attrName)
      Returns the default attribute text for the attribute with the given name.
      java.lang.String get_default_element_text​(javax.xml.namespace.QName eltName)
      Returns the default element text, if it's consistent.
      QNameSet get_element_ending_delimiters​(javax.xml.namespace.QName eltname)
      A typestore user can return the element sort order to use for insertion operations if needed.
      SchemaType get_element_type​(javax.xml.namespace.QName eltName, javax.xml.namespace.QName xsiType)
      Return the SchemaType which a child element of this name and xsi:type would be.
      int get_elementflags​(javax.xml.namespace.QName eltName)
      Returns the elementflags, if they're consistent.
      SchemaType get_schema_type()
      Returns the schema type of this user
      TypeStore get_store()
      Returns the store to which this typestoreuser is attached, or null if none.
      void invalidate_element_order()
      A store calls back on invalidate_element_order when a rearrangment of sibling elements to the left of this element means that the nillable value may no longer be valid.
      void invalidate_nilvalue()
      A store calls back on invalidate_nilvalue when the value of the xsi:nil tag has changed.
      void invalidate_value()
      A store will call back on invalidate_value when its text has changed and it therefore knows that any cached type value is invalid.
      boolean is_child_element_order_sensitive()
      Returns false if child elements are insensitive to order; if it returns true, you're required to call invalidate_element_order on children to the right of any child order rearrangement.
      TypeStoreVisitor new_visitor()
      A typestore user can return a visitor that is used to compute default text and elementflags for an arbitrary element.
      boolean uses_invalidate_value()
      A store can call uses_invalidate_value to know if calls to invalidate_value will be fruitful.
      void validate_now()
      A store will call back on validate_now to force us to look at the text if we're in an invalid state.
    • Method Detail

      • attach_store

        void attach_store​(TypeStore store)
        Called to attach to the given textStore. When a TypeStoreUser is attached, it is put into a completely invalidated state.
      • get_schema_type

        SchemaType get_schema_type()
        Returns the schema type of this user
      • get_store

        TypeStore get_store()
        Returns the store to which this typestoreuser is attached, or null if none.
      • invalidate_value

        void invalidate_value()
        A store will call back on invalidate_value when its text has changed and it therefore knows that any cached type value is invalid. It is the responsibilty of the type to call fetch_text and reparse next time the user does a strongly-typed get.
      • uses_invalidate_value

        boolean uses_invalidate_value()
        A store can call uses_invalidate_value to know if calls to invalidate_value will be fruitful. If uses_invalidate_value returns false, invalidate_value need never be called.
      • build_text

        java.lang.String build_text​(NamespaceManager nsm)
        A store will call back on build_text when it knows its own text is invalid and needs to fill it in. If forExternal is true, then the value returned will be used to replenish the store's cache of the value. Otherwise, the value is being computed for purposes other than validation, like persistence. Also, the only member on TypeStore which may be called while build_text is on the stack is find_prefix_for_nsuri which must have the forExternal state passed to it as it is passed here.
      • build_nil

        boolean build_nil()
        A store will call back on build_nil after you've called invalidate_nil and it needs to know what the nil value is.
      • invalidate_nilvalue

        void invalidate_nilvalue()
        A store calls back on invalidate_nilvalue when the value of the xsi:nil tag has changed.
      • invalidate_element_order

        void invalidate_element_order()
        A store calls back on invalidate_element_order when a rearrangment of sibling elements to the left of this element means that the nillable value may no longer be valid.
      • validate_now

        void validate_now()
        A store will call back on validate_now to force us to look at the text if we're in an invalid state. This function is allowed and expected to throw an exception if the text isn't valid for our type.
      • disconnect_store

        void disconnect_store()
        A store calls back on this call in order to force a disconnect. After this is done, the object should be considered invalid.
      • create_element_user

        TypeStoreUser create_element_user​(javax.xml.namespace.QName eltName,
                                          javax.xml.namespace.QName xsiType)
        A typestore user can create a new TypeStoreUser instance for a given element child name as long as you also pass the qname contained by the xsi:type attribute, if any. Note that we will ignore the xsiType if it turns out to be invalid.
      • create_attribute_user

        TypeStoreUser create_attribute_user​(javax.xml.namespace.QName attrName)
        A typestore user can create a new TypeStoreUser instance for a given attribute child, based on the attribute name.
      • get_element_type

        SchemaType get_element_type​(javax.xml.namespace.QName eltName,
                                    javax.xml.namespace.QName xsiType)
        Return the SchemaType which a child element of this name and xsi:type would be.
      • get_attribute_type

        SchemaType get_attribute_type​(javax.xml.namespace.QName attrName)
        Return the SchemaType which an attribute of this name would be.
      • get_default_element_text

        java.lang.String get_default_element_text​(javax.xml.namespace.QName eltName)
        Returns the default element text, if it's consistent. If it's not consistent, returns null, and requires a visitor walk.
      • get_default_attribute_text

        java.lang.String get_default_attribute_text​(javax.xml.namespace.QName attrName)
        Returns the default attribute text for the attribute with the given name.
      • get_elementflags

        int get_elementflags​(javax.xml.namespace.QName eltName)
        Returns the elementflags, if they're consistent. If they're not, returns -1, and requires a vistor walk.
      • get_attributeflags

        int get_attributeflags​(javax.xml.namespace.QName attrName)
        Returns the flags for an attribute.
      • get_attribute_field

        SchemaField get_attribute_field​(javax.xml.namespace.QName attrName)
        Returns the schema field for an attribute
      • is_child_element_order_sensitive

        boolean is_child_element_order_sensitive()
        Returns false if child elements are insensitive to order; if it returns true, you're required to call invalidate_element_order on children to the right of any child order rearrangement.
      • get_element_ending_delimiters

        QNameSet get_element_ending_delimiters​(javax.xml.namespace.QName eltname)
        A typestore user can return the element sort order to use for insertion operations if needed. Settable elements should be stored in this order if possible.
      • new_visitor

        TypeStoreVisitor new_visitor()
        A typestore user can return a visitor that is used to compute default text and elementflags for an arbitrary element.