com.sun.xml.bind.v2.model.core

Interface TypeInfoSet<T,C,F,M>

public interface TypeInfoSet<T,C,F,M>

Root of models. Set of TypeInfos.
Method Summary
Map<? extends T,? extends ArrayInfo<T,C>>arrays()
Returns all the ArrayInfos known to this set.
Map<C,? extends ClassInfo<T,C>>beans()
Returns all the ClassInfos known to this set.
Map<T,? extends BuiltinLeafInfo<T,C>>builtins()
Returns all the BuiltinLeafInfos known to this set.
voiddump(Result out)
Dumps this model into XML.
Map<C,? extends EnumLeafInfo<T,C>>enums()
Returns all the EnumLeafInfos known to this set.
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.
XmlNsFormgetAttributeFormDefault(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.
XmlNsFormgetElementFormDefault(String nsUri)
Gets the reasonable XmlNsForm for the given namespace URI.
ElementInfo<T,C>getElementInfo(C scope, QName name)
Returns a ElementInfo for the given element.
Map<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.
Map<String,String>getSchemaLocations()
Gets XmlSchema#location() found in this context.
NonElement<T,C>getTypeInfo(T type)
Returns a TypeInfo for the given type.
NonElement<T,C>getTypeInfo(Ref<T,C> ref)
Returns a type information for the given reference.
Map<String,String>getXmlNs(String namespaceUri)
Gets all XmlSchema#xmlns() found in this context for the given namespace URI.

Method Detail

arrays

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

beans

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

builtins

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

dump

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

enums

public Map<C,? extends EnumLeafInfo<T,C>> enums()
Returns all the EnumLeafInfos known to this set.

getAllElements

public Iterable<? extends ElementInfo<T,C>> getAllElements()
Returns all the ElementInfo known to this set.

getAnyTypeInfo

public NonElement<T,C> getAnyTypeInfo()
Gets the TypeInfo for the any type.

getAttributeFormDefault

public 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.

getClassInfo

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

This method is almost like refinement of TypeInfoSet except our C cannot derive from T.

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

getElementFormDefault

public 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.

getElementInfo

public 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.

getElementMappings

public 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.

getNavigator

public Navigator<T,C,F,M> getNavigator()
Navigator for this model.

getSchemaLocations

public 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.)

getTypeInfo

public 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.

getTypeInfo

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

getXmlNs

public 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.