org.codehaus.xfire.aegis.type.TypeMappingRegistry Maven / Gradle / Ivy
package org.codehaus.xfire.aegis.type;
/**
* The TypeMappingRegistry provides access to the type mappings within XFire.
*
* @author Dan Diephouse
* @since Feb 18, 2004
*/
public interface TypeMappingRegistry
{
String ROLE = TypeMappingRegistry.class.getName();
/**
*/
public TypeMapping register(String encodingStyleURI, TypeMapping mapping);
/**
*/
public void registerDefault(TypeMapping mapping);
/**
* Gets the registered default TypeMapping
instance.
* This method returns null
if there is no registered
* default TypeMapping in the registry.
*
* @return The registered default TypeMapping
instance
* or null
.
*/
public TypeMapping getDefaultTypeMapping();
/**
* Returns a list of registered encodingStyle URIs in this
* TypeMappingRegistry
instance.
*
* @return Array of the registered encodingStyle URIs
*/
public String[] getRegisteredEncodingStyleURIs();
/**
* Returns the registered TypeMapping
for the specified
* encodingStyle URI. If there is no registered TypeMapping
* for the specified encodingStyleURI
, this method
* returns null
.
*
* @param encodingStyleURI Encoding style specified as an URI
* @return TypeMapping for the specified encodingStyleURI or
* null
*/
public TypeMapping getTypeMapping(String encodingStyleURI);
/**
* Creates a new empty TypeMapping
object.
*
* @return TypeMapping instance.
*/
public TypeMapping createTypeMapping(boolean autoTypes);
/**
* Create a type mapping with the specified encodying style.
*
* @param parentEncodingStyleURI Encoding style of the parent TypeMapping
specified as an URI
* @param autoTypes Should this mapping auto-generate types where possible
* @return TypeMapping instance
*/
public TypeMapping createTypeMapping(String parentEncodingStyleURI, boolean autoTypes);
/**
* Unregisters a TypeMapping instance, if present, from the specified
* encodingStyleURI.
*
* @param encodingStyleURI Encoding style specified as an URI
* @return TypeMapping
instance that has been unregistered
* or null
if there was no TypeMapping
* registered for the specified encodingStyleURI
*/
public TypeMapping unregisterTypeMapping(String encodingStyleURI);
/**
* Removes a TypeMapping
from the TypeMappingRegistry. A
* TypeMapping
is associated with 1 or more
* encodingStyleURIs. This method unregisters the specified
* TypeMapping
instance from all associated
* encodingStyleURIs
and then removes this
* TypeMapping instance from the registry.
*
* @param mapping TypeMapping to remove
* @return true
if specified TypeMapping
* is removed from the TypeMappingRegistry; false
* if the specified TypeMapping
was not in the
* TypeMappingRegistry
*/
public boolean removeTypeMapping(TypeMapping mapping);
/**
* Removes all registered TypeMappings and encodingStyleURIs
* from this TypeMappingRegistry.
*/
public void clear();
}