com.sun.xml.bind.v2.model.core
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.


Method Summary
 java.util.Map<? extends T,? extends ArrayInfo<T,C>> arrays()
          Returns all the ArrayInfos known to this set.
 java.util.Map<C,? extends ClassInfo<T,C>> beans()
          Returns all the ClassInfos known to this set.
 java.util.Map<T,? extends BuiltinLeafInfo<T,C>> builtins()
          Returns all the BuiltinLeafInfos known to this set.
 void dump(javax.xml.transform.Result out)
          Dumps this model into XML.
 java.util.Map<C,? extends EnumLeafInfo<T,C>> enums()
          Returns all the EnumLeafInfos known to this set.
 java.lang.Iterable<? extends ElementInfo<T,C>> getAllElements()
          Returns all the ElementInfo known to this set.
 NonElement<T,C> getAnyTypeInfo()
          Gets the TypeInfo for the any type.
 javax.xml.bind.annotation.XmlNsForm getAttributeFormDefault(java.lang.String nsUri)
          Gets the reasonable XmlNsForm for the given namespace URI.
 NonElement<T,C> getClassInfo(C type)
          Returns a ClassInfo, ArrayInfo, or LeafInfo for the given bean.
 javax.xml.bind.annotation.XmlNsForm getElementFormDefault(java.lang.String nsUri)
          Gets the reasonable XmlNsForm for the given namespace URI.
 ElementInfo<T,C> getElementInfo(C scope, javax.xml.namespace.QName name)
          Returns a ElementInfo for the given element.
 java.util.Map<javax.xml.namespace.QName,? extends ElementInfo<T,C>> getElementMappings(C scope)
          Returns all ElementInfos in the given scope.
 Navigator<T,C,F,M> getNavigator()
          Navigator for this model.
 java.util.Map<java.lang.String,java.lang.String> getSchemaLocations()
          Gets XmlSchema.location() found in this context.
 NonElement<T,C> getTypeInfo(Ref<T,C> ref)
          Returns a type information for the given reference.
 NonElement<T,C> getTypeInfo(T type)
          Returns a TypeInfo for the given type.
 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.
 

Method Detail

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

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.


builtins

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


enums

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