ORG.oclc.openurl.contextObjectFormat
Class FmtKevMtxCtx

java.lang.Object
  |
  +--ORG.oclc.openurl.contextObjectFormat.AbstractContextObjectFormat
        |
        +--ORG.oclc.openurl.contextObjectFormat.FmtKevMtxCtx

public class FmtKevMtxCtx
extends AbstractContextObjectFormat

This class is used to normalize KEV/MTX/CTX ContextObject Format representations into an abstract form so the ContextObject processor classes can ignore differences between formats.

Author:
Jeffrey A. Young

Constructor Summary
FmtKevMtxCtx(java.util.Map rawMap)
          Construct an AbstractContextObjectFormat from a dereferenced KEV/MTX/CTX formatted request.
 
Method Summary
static Administrative getAdministrative(java.util.Map kevMap)
          Get an Administrative entity from a KEV/MTX/CTX formatted ContextObject
static ContextObject[] getContextObjects(java.util.Map rawMap)
          Extract dereferenced ContextObjects from a KEV/MTX/CTX formatted request
static Descriptor getDescriptor(java.lang.String key, AbstractDataType dataType)
          Construct a Descriptor Object from an Identifier/PrivateData/ForeignKey KEV descriptor
static Descriptor getDescriptor(java.lang.String valFmtLabel, AbstractDataType dataType, AbstractMetadataFormat metadataFormat)
          Construct a Descriptor Object from a by-value metadata KEV descriptor
static Descriptor getDescriptor(java.lang.String refFmtLabel, AbstractDataType dataType, java.lang.String ref)
          Construct a dereferenced Descriptor Object from a by-reference metadata KEV descriptor
protected static Descriptor[] getDescriptors(java.util.Map kevMap)
          Get a list of ForeignKey Descriptor Objects
protected static Descriptor[] getDescriptors(java.lang.String prefix, java.util.Map kevMap)
          Extract KEV descriptors for the specified entity type and convert them to an array of dereferenced Descriptor Objects
static ForeignKey getForeignKey(java.util.Map kevMap)
          Get ForeignKey entities from a KEV/MTX/CTX formatted ContextObject
static Referent[] getReferents(java.util.Map kevMap)
          Get Referent entities from a KEV/MTX/CTX formatted ContextObject
static Referrer[] getReferrers(java.util.Map kevMap)
          Get Referrer entities from a KEV/MTX/CTX formatted ContextObject
static ReferringEntity[] getReferringEntities(java.util.Map kevMap)
          Get ReferringEntity entities from a KEV/MTX/CTX formatted ContextObject
static Requester[] getRequesters(java.util.Map kevMap)
          Get Requester entities from a KEV/MTX/CTX formatted ContextObject
static Resolver[] getResolvers(java.util.Map kevMap)
          Get Resolver entities from a KEV/MTX/CTX formatted ContextObject
static ServiceType[] getServiceTypes(java.util.Map kevMap)
          Get ServiceType entities from a KEV/MTX/CTX formatted ContextObject
 
Methods inherited from class ORG.oclc.openurl.contextObjectFormat.AbstractContextObjectFormat
getContextObjects, getContextObjectsDoc, getContextObjectsXmlRec
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FmtKevMtxCtx

public FmtKevMtxCtx(java.util.Map rawMap)
             throws java.lang.IllegalArgumentException,
                    java.lang.InstantiationException,
                    java.lang.IllegalAccessException,
                    java.lang.reflect.InvocationTargetException,
                    OpenURLException,
                    java.lang.Throwable
Construct an AbstractContextObjectFormat from a dereferenced KEV/MTX/CTX formatted request.

Parameters:
rawMap -
Throws:
java.lang.IllegalArgumentException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
OpenURLException
java.lang.Throwable
Method Detail

getContextObjects

public static ContextObject[] getContextObjects(java.util.Map rawMap)
                                         throws java.lang.IllegalArgumentException,
                                                java.lang.InstantiationException,
                                                java.lang.IllegalAccessException,
                                                java.lang.reflect.InvocationTargetException,
                                                OpenURLException,
                                                java.lang.Throwable
Extract dereferenced ContextObjects from a KEV/MTX/CTX formatted request

Parameters:
rawMap -
Returns:
an array of contextObjects from the raw request
Throws:
java.lang.IllegalArgumentException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
OpenURLException
java.lang.Throwable

getDescriptors

protected static Descriptor[] getDescriptors(java.lang.String prefix,
                                             java.util.Map kevMap)
                                      throws java.lang.Throwable
Extract KEV descriptors for the specified entity type and convert them to an array of dereferenced Descriptor Objects

Parameters:
prefix -
kevMap -
Returns:
and array of abstract Descriptors
Throws:
java.lang.Throwable

getDescriptors

protected static Descriptor[] getDescriptors(java.util.Map kevMap)
                                      throws java.lang.IllegalArgumentException,
                                             java.lang.InstantiationException,
                                             java.lang.IllegalAccessException,
                                             java.lang.reflect.InvocationTargetException,
                                             OpenURLException
Get a list of ForeignKey Descriptor Objects

Parameters:
kevMap -
Returns:
an array of abstract Descriptors
Throws:
java.lang.IllegalArgumentException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
OpenURLException

getAdministrative

public static Administrative getAdministrative(java.util.Map kevMap)
                                        throws java.lang.Throwable
Get an Administrative entity from a KEV/MTX/CTX formatted ContextObject

Parameters:
kevMap -
Returns:
the Administrative entity from the KEV arguments
Throws:
java.lang.Throwable

getReferents

public static Referent[] getReferents(java.util.Map kevMap)
                               throws java.lang.Throwable
Get Referent entities from a KEV/MTX/CTX formatted ContextObject

Parameters:
kevMap -
Returns:
an array of Referent entities taken from the KEV parameters
Throws:
java.lang.Throwable

getReferringEntities

public static ReferringEntity[] getReferringEntities(java.util.Map kevMap)
                                              throws java.lang.Throwable
Get ReferringEntity entities from a KEV/MTX/CTX formatted ContextObject

Parameters:
kevMap -
Returns:
an array of Referring Entity entities taken from the KEV parameters
Throws:
java.lang.Throwable

getRequesters

public static Requester[] getRequesters(java.util.Map kevMap)
                                 throws java.lang.Throwable
Get Requester entities from a KEV/MTX/CTX formatted ContextObject

Parameters:
kevMap -
Returns:
an array of Requester entities taken from the KEV parameters
Throws:
java.lang.Throwable

getServiceTypes

public static ServiceType[] getServiceTypes(java.util.Map kevMap)
                                     throws java.lang.Throwable
Get ServiceType entities from a KEV/MTX/CTX formatted ContextObject

Parameters:
kevMap -
Returns:
and array of ServiceType entities
Throws:
java.lang.Throwable

getResolvers

public static Resolver[] getResolvers(java.util.Map kevMap)
                               throws java.lang.Throwable
Get Resolver entities from a KEV/MTX/CTX formatted ContextObject

Parameters:
kevMap -
Returns:
an array of Resolver entities
Throws:
java.lang.Throwable

getReferrers

public static Referrer[] getReferrers(java.util.Map kevMap)
                               throws java.lang.Throwable
Get Referrer entities from a KEV/MTX/CTX formatted ContextObject

Parameters:
kevMap -
Returns:
an array of Referrer entities taken from the KEV parameters
Throws:
java.lang.Throwable

getForeignKey

public static ForeignKey getForeignKey(java.util.Map kevMap)
                                throws java.lang.IllegalArgumentException,
                                       java.lang.InstantiationException,
                                       java.lang.IllegalAccessException,
                                       java.lang.reflect.InvocationTargetException,
                                       OpenURLException
Get ForeignKey entities from a KEV/MTX/CTX formatted ContextObject

Parameters:
kevMap -
Returns:
a ForeignKey object generated from the KEV arguments
Throws:
java.lang.IllegalArgumentException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
OpenURLException

getDescriptor

public static Descriptor getDescriptor(java.lang.String key,
                                       AbstractDataType dataType)
                                throws java.lang.IllegalArgumentException,
                                       java.lang.InstantiationException,
                                       java.lang.IllegalAccessException,
                                       java.lang.reflect.InvocationTargetException
Construct a Descriptor Object from an Identifier/PrivateData/ForeignKey KEV descriptor

Parameters:
key -
dataType -
Returns:
an abstract Descriptor
Throws:
java.lang.IllegalArgumentException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException

getDescriptor

public static Descriptor getDescriptor(java.lang.String valFmtLabel,
                                       AbstractDataType dataType,
                                       AbstractMetadataFormat metadataFormat)
                                throws OpenURLException,
                                       java.lang.IllegalArgumentException,
                                       java.lang.InstantiationException,
                                       java.lang.IllegalAccessException,
                                       java.lang.reflect.InvocationTargetException
Construct a Descriptor Object from a by-value metadata KEV descriptor

Parameters:
valFmtLabel -
dataType -
metadataFormat -
Returns:
an abstract Descriptor
Throws:
OpenURLException
java.lang.IllegalArgumentException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException

getDescriptor

public static Descriptor getDescriptor(java.lang.String refFmtLabel,
                                       AbstractDataType dataType,
                                       java.lang.String ref)
                                throws java.lang.Throwable
Construct a dereferenced Descriptor Object from a by-reference metadata KEV descriptor

Parameters:
refFmtLabel -
dataType -
ref -
Returns:
an abstract Descriptor
Throws:
java.lang.Throwable