Interface TypeInfoSet<T,​C,​F,​M>

  • All Known Subinterfaces:
    RuntimeTypeInfoSet
    All Known Implementing Classes:
    Model

    public interface TypeInfoSet<T,​C,​F,​M>
    Root of models. Set of TypeInfos.
    Author:
    Kohsuke Kawaguchi
    • Method Detail

      • getTypeInfo

        NonElement<T,​C> getTypeInfo​(T type)
        Returns a TypeInfo for the given type.
        Returns:
        null if the specified type cannot be bound by JAXB, or not known to this set.
      • getClassInfo

        NonElement<T,​C> getClassInfo​(C type)
        Returns a ClassInfo, ArrayInfo, or LeafInfo for the given bean.

        This method is almost like refinement of getTypeInfo(Object) except our C cannot derive from T.

        Returns:
        null if the specified type is not bound by JAXB or otherwise unknown to this set.
      • getElementInfo

        ElementInfo<T,​C> getElementInfo​(C scope,
                                              QName name)
        Returns a ElementInfo for the given element.
        Parameters:
        scope - if null, return the info about a global element. Otherwise return a local element in the given scope if available, then look for a global element next.
      • getTypeInfo

        NonElement<T,​C> getTypeInfo​(Ref<T,​C> ref)
        Returns a type information for the given reference.
      • getElementMappings

        Map<QName,​? extends ElementInfo<T,​C>> getElementMappings​(C scope)
        Returns all ElementInfos in the given scope.
        Parameters:
        scope - if non-null, this method only returns the local element mapping.
      • getXmlNs

        Map<String,​String> getXmlNs​(String namespaceUri)
        Gets all XmlSchema.xmlns() found in this context for the given namespace URI.

        This operation is expected to be only used in schema generator, so it can be slow.

        Returns:
        A map from prefixes to namespace URIs, which should be declared when generating a schema. Could be empty but never null.
      • getSchemaLocations

        Map<String,​String> getSchemaLocations()
        Gets XmlSchema.location() found in this context.

        This operation is expected to be only used in schema generator, so it can be slow.

        Returns:
        A map from namespace URI to the value of the location. If the entry is missing, that means a schema should be generated for that namespace. If the value is "", that means the schema location is implied (<xs:schema namespace="..."/> w/o schemaLocation.)
      • getElementFormDefault

        XmlNsForm getElementFormDefault​(String nsUri)
        Gets the reasonable XmlNsForm for the given namespace URI.

        The spec doesn't define very precisely what the XmlNsForm value for the given namespace would be, so this method is implemented in rather ad-hoc way. It should work as what most people expect for simple cases.

        Returns:
        never null.
      • getAttributeFormDefault

        XmlNsForm getAttributeFormDefault​(String nsUri)
        Gets the reasonable XmlNsForm for the given namespace URI.

        The spec doesn't define very precisely what the XmlNsForm value for the given namespace would be, so this method is implemented in rather ad-hoc way. It should work as what most people expect for simple cases.

        Returns:
        never null.
      • dump

        void dump​(Result out)
           throws JAXBException
        Dumps this model into XML. For debug only. TODO: not sure if this actually works. We don't really know what are T,C.
        Throws:
        JAXBException