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.
      • arrays

        java.util.Map<? extends T,​? extends ArrayInfo<T,​C>> arrays()
        Returns all the ArrayInfos known to this set.
      • beans

        java.util.Map<C,​? extends ClassInfo<T,​C>> beans()
        Returns all the ClassInfos known to this set.
      • getElementInfo

        ElementInfo<T,​C> getElementInfo​(C scope,
                                              javax.xml.namespace.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

        java.util.Map<javax.xml.namespace.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.
      • getAllElements

        java.lang.Iterable<? extends ElementInfo<T,​C>> getAllElements()
        Returns all the ElementInfo known to this set.
      • getXmlNs

        java.util.Map<java.lang.String,​java.lang.String> getXmlNs​(java.lang.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

        java.util.Map<java.lang.String,​java.lang.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

        javax.xml.bind.annotation.XmlNsForm getElementFormDefault​(java.lang.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

        javax.xml.bind.annotation.XmlNsForm getAttributeFormDefault​(java.lang.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​(javax.xml.transform.Result out)
           throws javax.xml.bind.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:
        javax.xml.bind.JAXBException