hp.telephony.media
Class ResourceSpec

java.lang.Object
  extended byhp.telephony.media.ResourceSpec
Direct Known Subclasses:
ResourceSpec.Operator

public class ResourceSpec
extends Object

Describes the attributes and other information for configuring Resources. A media resource is described by three items:

Allocation Operators:

Alternatively, a ResourceSpec may be a collection of nested ResourceSpec objects related by an allocation operator. The allocation operators are: And, Alt, Or, Future, Add. Each operator is represented by an inner subclass of ResourceSpec.

Selection Attributes:

Each resource implementation is registered with a collection of Attributes that describe the features or capabilities of that implementation. Selection attributes specify the features or capabilities that an application expects or relies on. During configuration, only Resource implementations that have the requested Attributes are allocated and connected into the group.

For example, a Player that is capable of speed changing and that implements the speed changing API, RTCs, etc. would register the attribute: (a_Speed = TRUE). An application that wants to use the speed change features during play() should request a Player with Attribute: (a_Speed = TRUE) by including this binding in the selectionAttributes Dictionary when constructing the ResourceSpec. That is:
new ResourceSpec(Player.class, {(a_Speed=TRUE)}, ...);

The Attributes of a given resouce implementation are fixed ('final' as one would say in Java). If a resource is configured with (a_Speed=TRUE), then a_Speed will always report TRUE.

Attributes versus Parameters

In contrast, the amount of speed change to be invoked when the speed is changed is a variable controlled by the application. Application controllable settings are called parameters. Applications can set the parameters of a resource using setParameters(Dictionary) or pre-set them during configuration by including them in the initialParameters of a ResourceSpec.

Note: This specification does not constrain how or whether the structured sub-components of a ResourceSpec are shared or copied between uses. Application developers are advised that there may be side-effects if an Array or Dictionary used in a ResourceSpec is subsequently modified. For example, it would be poor practice to modify the ResourceSpec[] that was used in the constructor to Alt(). Modifications should be made only to copies of such Arrays or Dictionaries.

Since:
OCMP 2.4

Nested Class Summary
static class ResourceSpec.Add
          Deprecated. not supported.
static class ResourceSpec.Alt
          All ResourceSpecs must be satisfied, but only needs to statisfy one at a time.
static class ResourceSpec.And
          All ResourceSpecs must be satisfied, simultaneously.
static class ResourceSpec.Future
          Deprecated. not supported.
static class ResourceSpec.Operator
          FOR INTERNAL USE ONLY - Represents the ResourceSpec operator nodes: And, Alt, Or, Add, Future.
static class ResourceSpec.Or
          Deprecated. not supported.
 
Field Summary
static ResourceSpec adpcmPlayer
          Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.
static ResourceSpec adpcmPlayerG726_16
          Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.
static ResourceSpec adpcmPlayerG726_32
          Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.
static ResourceSpec adpcmPlayerOKI
          Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.
static ResourceSpec adpcmRecorder
          Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.
static ResourceSpec adpcmRecorderG726_16
          Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.
static ResourceSpec adpcmRecorderG726_32
          Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.
static ResourceSpec adpcmRecorderOKI
          Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.
static ResourceSpec ALawPlayer
          Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.
static ResourceSpec ALawRecorder
          Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.
static ResourceSpec altEnhancedPSGR_Conf
          A ResourceSpec that provides alternate access to alternate basicAndEnhancedPSG_R and basicConference.
static ResourceSpec altPSGR_Conf
          A ResourceSpec that provides alternate access to alternate basicAndPSG_R and basicConference.
static ResourceSpec[] aryP_R
          A ResourceSpec that provides access to Player and Recorder.
static ResourceSpec basicAltEnhancedP_SG
          A ResourceSpec that provides alternating access to Player with volume and speed control and Signal Generator.
static ResourceSpec[] basicAltEnhancedPSGR_Conf
          A ResourceSpec [] meant to provide either access to basicAndEnhancedPSG_R or basicConference.
static ResourceSpec basicAltP_SG
          A ResourceSpec that provides alternating access to Player and Signal Generator.
static ResourceSpec basicAltPlayerRecorder
          Deprecated. not meaningful within OC MP.
static ResourceSpec[] basicAltPR_Conf
          A ResourceSpec [] that provides access to PlayerSGRecorder and conference.
static ResourceSpec[] basicAltPSGR_Conf
          A ResourceSpec [] meant to provide either access to basicAndPSG_R or basicConference.
static ResourceSpec basicAltSpeedP_SG
          A ResourceSpec that provides alternating access to Player with speed control and Signal Generator.
static ResourceSpec basicAltVolumeP_SG
          A ResourceSpec that provides alternating access to Player with volume control and Signal Generator.
static ResourceSpec basicAndEnhancedPSG_R
          A ResourceSpec that provides both access to basicAltEnhancedP_SG and basicRecorder.
static ResourceSpec basicAndP_R
          A ResourceSpec that provides both access to And(Player/Recorder).
static ResourceSpec basicAndPSG_R
          A ResourceSpec that provides both access to Alt(Player/SG) and Recorder basicAltP_SG and, basicRecorder.
static ResourceSpec basicConference
          A conference with default parameters and attributes.
static ResourceSpec basicEchoCanceller
          An echo canceller with default parameters and attributes.
static ResourceSpec basicEchoSimulator
          An echo simulator for testing purpose only.
static ResourceSpec basicFax
          A Fax with default parameters and attributes.
static ResourceSpec basicPlayer
          A Player with default parameters and attributes.
static ResourceSpec basicRecorder
          A Recorder with default parameters and attributes.
static ResourceSpec basicSignalDetector
          A SignalDetector with default parameters and attributes.
static ResourceSpec basicSignalGenerator
          A SignalGenerator with default parameters and attributes.
static ResourceSpec basicSpeechDetector
          A SpeechDetector with default parameters and attributes.
static ResourceSpec enhancedPlayer
          basicPlayer + Speed and Volume control capabilities.
static ResourceSpec hpSpeechDetector
          HP speech detector.
static ResourceSpec MuLawPlayer
          Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.
static ResourceSpec MuLawRecorder
          Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.
static ResourceSpec none
          Deprecated. not supported.
static ResourceSpec nuanceSpeechDetector
          Nuance algorithm based speech detector.
static ResourceSpec protocol1MasterSMSPlayerRecorder
          An SMSPlayerRecorder with default parameters and attributes.
static ResourceSpec protocol1SlaveSMSPlayerRecorder
          An SMSPlayerRecorder with default parameters and attributes.
static ResourceSpec protocol2MasterSMSPlayerRecorder
          An SMSPlayerRecorder with default parameters and attributes.
static ResourceSpec protocol2SlaveSMSPlayerRecorder
          An SMSPlayerRecorder with default parameters and attributes.
static ResourceSpec rtpPlayer
          An RTP Player (Mu-Law mode), needed for TTS.
static ResourceSpec rtpRecorder
          An RTP Recorder (Mu-Law mode), needed for ASR.
static ResourceSpec silencePlayer
          A Comfort Noise Generator.
static ResourceSpec speedPlayer
          basicPlayer + Speed control capability.
static ResourceSpec stubbedMasterSMSPlayerRecorder
          An SMSPlayerRecorder with default parameters and attributes.
static ResourceSpec stubbedSlaveSMSPlayerRecorder
          An SMSPlayerRecorder with default parameters and attributes.
static ResourceSpec swiSpeechDetector
          Speech Works International speech detector.
static ResourceSpec telismaSpeechDetector
          Telisma speech detector.
static ResourceSpec volumePlayer
          basicPlayer + Volume control capability.
 
Constructor Summary
ResourceSpec(Class resourceClass, Dictionary selectionAttributes, Dictionary initialParameters)
          Constructor using the resource class, selection attributes and initial parameters.
ResourceSpec(String resourceName, Dictionary selectionAttributes, Dictionary initialParameters)
          Constructor using the resource name, selection attributes and initial parameters.
 
Method Summary
 Dictionary getInitialParameters()
          Get the Dictionary of initial parameters.
 Class getResourceClass()
          Returns the Class of the media resource associated with this object.
 Dictionary getSelectionAttributes()
          Get the Dictionary of additional selection attributes.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

basicPlayer

public static final ResourceSpec basicPlayer
A Player with default parameters and attributes. See also volumePlayer, speedPlayer and enhancedPlayer, a combination of both. Using AsyncMediaGroup.setParameters(Dictionary) or the last arg of play() and record() is preferred to codec flavors of Player and Recorder ResourceSpecs.


adpcmPlayer

public static final ResourceSpec adpcmPlayer
Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.


adpcmPlayerOKI

public static final ResourceSpec adpcmPlayerOKI
Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.


adpcmPlayerG726_32

public static final ResourceSpec adpcmPlayerG726_32
Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.


adpcmPlayerG726_16

public static final ResourceSpec adpcmPlayerG726_16
Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.


ALawPlayer

public static final ResourceSpec ALawPlayer
Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.


MuLawPlayer

public static final ResourceSpec MuLawPlayer
Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.


silencePlayer

public static final ResourceSpec silencePlayer
A Comfort Noise Generator.

Since:
not supported, for internal use.

rtpPlayer

public static final ResourceSpec rtpPlayer
An RTP Player (Mu-Law mode), needed for TTS.


basicRecorder

public static final ResourceSpec basicRecorder
A Recorder with default parameters and attributes.


ALawRecorder

public static ResourceSpec ALawRecorder
Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.


MuLawRecorder

public static ResourceSpec MuLawRecorder
Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.


adpcmRecorderG726_32

public static ResourceSpec adpcmRecorderG726_32
Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.


adpcmRecorderG726_16

public static ResourceSpec adpcmRecorderG726_16
Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.


adpcmRecorderOKI

public static ResourceSpec adpcmRecorderOKI
Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.


adpcmRecorder

public static ResourceSpec adpcmRecorder
Deprecated. Using setParameters() dynamically or the last arg of play() and record() is preferred to static codec flavored ResourceSpec.


rtpRecorder

public static final ResourceSpec rtpRecorder
An RTP Recorder (Mu-Law mode), needed for ASR.


basicSignalDetector

public static final ResourceSpec basicSignalDetector
A SignalDetector with default parameters and attributes.


basicSignalGenerator

public static final ResourceSpec basicSignalGenerator
A SignalGenerator with default parameters and attributes.


basicSpeechDetector

public static final ResourceSpec basicSpeechDetector
A SpeechDetector with default parameters and attributes. (cf. SpeechDetectorConstants).

See Also:
nuanceSpeechDetector, swiSpeechDetector, telismaSpeechDetector, hpSpeechDetector

nuanceSpeechDetector

public static final ResourceSpec nuanceSpeechDetector
Nuance algorithm based speech detector.

See Also:
basicSpeechDetector

swiSpeechDetector

public static final ResourceSpec swiSpeechDetector
Speech Works International speech detector.

deprecated.

See Also:
basicSpeechDetector

telismaSpeechDetector

public static final ResourceSpec telismaSpeechDetector
Telisma speech detector.

deprecated.

Since:
Not supported.
See Also:
basicSpeechDetector

hpSpeechDetector

public static final ResourceSpec hpSpeechDetector
HP speech detector.

Since:
OCMP 2.4
See Also:
basicSpeechDetector

basicFax

public static final ResourceSpec basicFax
A Fax with default parameters and attributes.


basicConference

public static final ResourceSpec basicConference
A conference with default parameters and attributes.


basicEchoSimulator

public static final ResourceSpec basicEchoSimulator
An echo simulator for testing purpose only. Internal use - not supported.


basicEchoCanceller

public static final ResourceSpec basicEchoCanceller
An echo canceller with default parameters and attributes.


speedPlayer

public static final ResourceSpec speedPlayer
basicPlayer + Speed control capability. OC MP implementation of playing faster is done thru silence removal. Playing more slowly is achieved by adding silence.

Since:
OCMP 2.2
See Also:
#enhancedPlayer.

volumePlayer

public static final ResourceSpec volumePlayer
basicPlayer + Volume control capability. OC MP implementation of features a normal level and 3 levels 3dB apart, above and below 0dB. This makes 7 levels in all : 0, +/- 3, 6, 9 dB.

Since:
OCMP 2.2
See Also:
#enhancedPlayer.

enhancedPlayer

public static final ResourceSpec enhancedPlayer
basicPlayer + Speed and Volume control capabilities.

Since:
OCMP 2.2

basicAltP_SG

public static final ResourceSpec basicAltP_SG
A ResourceSpec that provides alternating access to Player and Signal Generator.

A building block of OC MP preferred ConfigSpec.

Since:
OCMP 2.2
See Also:
basicPlayer, basicSignalGenerator

basicAltSpeedP_SG

public static final ResourceSpec basicAltSpeedP_SG
A ResourceSpec that provides alternating access to Player with speed control and Signal Generator.

A building block of OC MP preferred ConfigSpec.

Since:
OCMP 2.2
See Also:
speedPlayer, basicSignalGenerator

basicAltVolumeP_SG

public static final ResourceSpec basicAltVolumeP_SG
A ResourceSpec that provides alternating access to Player with volume control and Signal Generator.

A building block of OC MP preferred ConfigSpec.

Since:
OCMP 2.2
See Also:
volumePlayer, basicSignalGenerator

basicAltEnhancedP_SG

public static final ResourceSpec basicAltEnhancedP_SG
A ResourceSpec that provides alternating access to Player with volume and speed control and Signal Generator.

A building block of OC MP preferred ConfigSpec.

Since:
OCMP 2.2
See Also:
enhancedPlayer, basicSignalGenerator

basicAndPSG_R

public static final ResourceSpec basicAndPSG_R
A ResourceSpec that provides both access to Alt(Player/SG) and Recorder basicAltP_SG and, basicRecorder.

A building block of OC MP preferred ConfigSpec.


basicAndEnhancedPSG_R

public static final ResourceSpec basicAndEnhancedPSG_R
A ResourceSpec that provides both access to basicAltEnhancedP_SG and basicRecorder.

A building block of OC MP preferred ConfigSpec.


basicAndP_R

public static final ResourceSpec basicAndP_R
A ResourceSpec that provides both access to And(Player/Recorder).

A building block of OC MP preferred ConfigSpec. basicPlayer and, basicRecorder


basicAltPSGR_Conf

public static final ResourceSpec[] basicAltPSGR_Conf
A ResourceSpec [] meant to provide either access to basicAndPSG_R or basicConference.

A building block of OC MP preferred ConfigSpec.

Since:
OCMP 2.2

basicAltEnhancedPSGR_Conf

public static final ResourceSpec[] basicAltEnhancedPSGR_Conf
A ResourceSpec [] meant to provide either access to basicAndEnhancedPSG_R or basicConference.

A building block of OC MP preferred ConfigSpec.

Since:
OCMP 2.2

basicAltPR_Conf

public static final ResourceSpec[] basicAltPR_Conf
A ResourceSpec [] that provides access to PlayerSGRecorder and conference. basicAndP_R and basicConference.

A building block of OC MP preferred ConfigSpec.

Since:
OCMP 2.2

altPSGR_Conf

public static final ResourceSpec altPSGR_Conf
A ResourceSpec that provides alternate access to alternate basicAndPSG_R and basicConference.

A building block of OC MP preferred ConfigSpec.

Since:
OCMP 2.2

altEnhancedPSGR_Conf

public static final ResourceSpec altEnhancedPSGR_Conf
A ResourceSpec that provides alternate access to alternate basicAndEnhancedPSG_R and basicConference.

A building block of OC MP preferred ConfigSpec.

Since:
OCMP 2.2

basicAltPlayerRecorder

public static final ResourceSpec basicAltPlayerRecorder
Deprecated. not meaningful within OC MP.

A ResourceSpec that provides alternating access to Player and Recorder.

See Also:
basicPlayer, basicRecorder

aryP_R

public static final ResourceSpec[] aryP_R
A ResourceSpec that provides access to Player and Recorder.

A building block of OC MP preferred ConfigSpec.


none

public static final ResourceSpec none
Deprecated. not supported.

This ResourceSpec requests no actual resource. As such, it is always satisfiable, by any server. This may be used to ensure that a ResourceSpec always succeeds.


protocol1MasterSMSPlayerRecorder

public static final ResourceSpec protocol1MasterSMSPlayerRecorder
An SMSPlayerRecorder with default parameters and attributes.

See Also:
SMSPlayerRecorder

protocol2MasterSMSPlayerRecorder

public static final ResourceSpec protocol2MasterSMSPlayerRecorder
An SMSPlayerRecorder with default parameters and attributes.

See Also:
protocol1MasterSMSPlayerRecorder

stubbedMasterSMSPlayerRecorder

public static final ResourceSpec stubbedMasterSMSPlayerRecorder
An SMSPlayerRecorder with default parameters and attributes.

See Also:
protocol1MasterSMSPlayerRecorder

protocol1SlaveSMSPlayerRecorder

public static final ResourceSpec protocol1SlaveSMSPlayerRecorder
An SMSPlayerRecorder with default parameters and attributes.

See Also:
protocol1MasterSMSPlayerRecorder

protocol2SlaveSMSPlayerRecorder

public static final ResourceSpec protocol2SlaveSMSPlayerRecorder
An SMSPlayerRecorder with default parameters and attributes.

See Also:
protocol1MasterSMSPlayerRecorder

stubbedSlaveSMSPlayerRecorder

public static final ResourceSpec stubbedSlaveSMSPlayerRecorder
An SMSPlayerRecorder with default parameters and attributes.

See Also:
protocol1MasterSMSPlayerRecorder
Constructor Detail

ResourceSpec

public ResourceSpec(Class resourceClass,
                    Dictionary selectionAttributes,
                    Dictionary initialParameters)
Constructor using the resource class, selection attributes and initial parameters.

The resouceClass must be a valid Resource Class object. If the other arguments are null, they are treated the same as empty collections.

Parameters:
resourceClass - the Class object for the requested Resource interface.
selectionAttributes - a Dictionary containing required values for Attributes of the Resource implementation.
initialParameters - a Dictionary of initial parameter settings for this resource.

ResourceSpec

public ResourceSpec(String resourceName,
                    Dictionary selectionAttributes,
                    Dictionary initialParameters)
             throws ClassNotFoundException
Constructor using the resource name, selection attributes and initial parameters. This form of the constructor defers .class lookup until runtime.

The resouceName must identify a valid Resource class. The selectionAttributes and initialParameters may be null, which is treated as an empty Dictionary.

Parameters:
resourceName - the FQCN of the requested Resource interface.
selectionAttributes - a Dictionary containing required values for Attributes of the Resource implementation.
initialParameters - a Dictionary of initial parameter settings for this resource.
Throws:
ClassNotFoundException - if class is not found
Method Detail

getResourceClass

public Class getResourceClass()
Returns the Class of the media resource associated with this object.

Returns:
The Class object representing the requested Resource interface.

getSelectionAttributes

public Dictionary getSelectionAttributes()
Get the Dictionary of additional selection attributes.

Returns:
a Dictionary containing required values for Attributes of the Resource implementation.

getInitialParameters

public Dictionary getInitialParameters()
Get the Dictionary of initial parameters.

Returns:
a Dictionary of initial parameter settings for this resource.