org.deegree_impl.model.resources
Class Naming

java.lang.Object
  extended byorg.deegree_impl.model.resources.Naming

public final class Naming
extends java.lang.Object

Methods for binding names to ParameterListDescriptors. For example, Projection using this class for binding classification name to parameter list descriptors.

Version:
1.0
Author:
Martin Desruisseaux

Field Summary
private  java.util.Map descriptors
          Map classification name to ParameterListDescriptor objects.
private  java.lang.String initializer
          The fully qualified name of the class to load for initializing binding, or null if none.
private  java.lang.String logger
          The logger to use if initialization failed.
static Naming PROJECTIONS
          The naming to use for mapping projection's classification name to parameter descriptor.
 
Constructor Summary
private Naming(java.lang.String initializer, java.lang.String logger)
          Construct a Naming object.
 
Method Summary
 void bind(java.lang.String classification, ParameterListDescriptor descriptor)
          Binds a classification name to a parameter list descriptor.
private  void bindDefaults(java.lang.String method)
          Try to bind a set of default projections.
 ParameterList getParameterList(java.lang.String classification, ParameterListDescriptor fallback)
          Returns a parameter list for the specified classification.
 java.lang.String[] list()
          Returns the list of classification names.
 ParameterListDescriptor lookup(java.lang.String classification)
          Returns a default parameter descriptor for the specified classification name, or null if none is found.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROJECTIONS

public static final Naming PROJECTIONS
The naming to use for mapping projection's classification name to parameter descriptor.


descriptors

private java.util.Map descriptors
Map classification name to ParameterListDescriptor objects. Keys are CaselessStringKey object, while values are ParameterListDescriptor objects.


initializer

private final java.lang.String initializer
The fully qualified name of the class to load for initializing binding, or null if none. If non-null, then the static initializer of this class should invokes bind(java.lang.String, ParameterListDescriptor) for binding a default set of descriptors.


logger

private final java.lang.String logger
The logger to use if initialization failed.

Constructor Detail

Naming

private Naming(java.lang.String initializer,
               java.lang.String logger)
Construct a Naming object.

Parameters:
initializer - The fully qualified name of the class to load for initializing binding.
logger - The logger to use if initialization failed.
Method Detail

bindDefaults

private void bindDefaults(java.lang.String method)
Try to bind a set of default projections. Those default projections are binded during the static initialization of {org.deegree_impl.model.ct.MathTransformFactory} class. If the operation fail, a warning is logged but the process continue.


bind

public void bind(java.lang.String classification,
                 ParameterListDescriptor descriptor)
          throws java.lang.IllegalArgumentException
Binds a classification name to a parameter list descriptor.

Parameters:
classification - The classification name.
descriptor - the parameter list descriptor.
Throws:
java.lang.IllegalArgumentException - if a descriptor is already bounds for the specified classification name.

lookup

public ParameterListDescriptor lookup(java.lang.String classification)
Returns a default parameter descriptor for the specified classification name, or null if none is found.

Parameters:
classification - The classification to look for.
Returns:
The descriptor for the specified classification, or null if none.

getParameterList

public ParameterList getParameterList(java.lang.String classification,
                                      ParameterListDescriptor fallback)
Returns a parameter list for the specified classification. If there is no explicit parameter descriptor for the specified classification, then a default descriptor is used.

Parameters:
classification - The classification to look for.
fallback - The default parameter list descriptor to use if no descriptor has been found for the specified classification.
Returns:
A parameter list to use for the specified classification

list

public java.lang.String[] list()
Returns the list of classification names.