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 Details

    • getNavigator

      Navigator<T,C,F,M> getNavigator()
      Navigator for this model.
    • 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.
    • getAnyTypeInfo

      NonElement<T,C> getAnyTypeInfo()
      Gets the TypeInfo for the any type.
    • 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

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

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

      Map<T,? extends BuiltinLeafInfo<T,C>> builtins()
      Returns all the BuiltinLeafInfos known to this set.
    • enums

      Map<C,? extends EnumLeafInfo<T,C>> enums()
      Returns all the EnumLeafInfos known 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.
    • getAllElements

      Iterable<? extends ElementInfo<T,C>> getAllElements()
      Returns all the ElementInfo known to this set.
    • 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