Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

abeans::models::acs::cdb::dal::SequenceCharacteristicContextUtilities Class Reference

List of all members.

Static Public Member Functions

double[] getDoubleSeqCharacteristic (RemoteInfo parentInfo, String name, Proxy proxy, long timeout, RequestInterceptor interceptor, TypelessProperty invoker) throws AbeansDataExchangeException
String[] getStringSeqCharacteristic (RemoteInfo parentInfo, String name, Proxy proxy, long timeout, RequestInterceptor interceptor, TypelessProperty invoker) throws AbeansDataExchangeException
int[] getIntegerSeqCharacteristic (RemoteInfo parentInfo, String name, Proxy proxy, long timeout, RequestInterceptor interceptor, TypelessProperty invoker) throws AbeansDataExchangeException
Object getSeqCharacteristic (RemoteInfo parentInfo, String name, Proxy proxy, long timeout, RequestInterceptor interceptor, TypelessProperty invoker) throws AbeansDataExchangeException

Private Member Functions

 SequenceCharacteristicContextUtilities ()

Static Private Member Functions

Object internalGetCharacteristic (RemoteInfo parentInfo, String name, Proxy proxy, long timeout, RequestInterceptor interceptor, TypelessProperty invoker, ResponseType seqElemType) throws AbeansDataExchangeException

Detailed Description

This is a class containing convenience methods for accessing sequence characteristics, as defined by the Datatypes and its mapping into abeans.datatypes. Access to characteristics is typed (i.e. this class contains different methods for accessing characteristics of different types). The access to a characteristic element consists of creating a suitable Abeans Engine abeans.engine.Request, populating it with the neccessary data, submitting the request to the Abeans Engine database, unpacking the reply and returning the result.

The implementations of this class consist of the procedures described in the Datatypes to Abeans document mapping:

  1. A new request is created by obtaining the database from the invoker parameter of the methods, and invoking one of the request factory methods on the database.
  2. The request is populated with indexing data. All characteristics accesses are indexed by UpdateableUtilities.LATEST_REQUEST_INDEX_KEY index and their key is the invoker parameter.
  3. The type of the sequence characteristics (and thus the type of the abeans.engine.Response is inserted into the request properties). The type is based on the characteristics access method chosen.
  4. The target of the request is set to the remote info provided as the method parameter plus the characteristic name and the "get" query invoked on it.
  5. The timeout is set to the specified timeout parameter.
  6. The interceptor, if non-null, is called and passed the request, before the request is submitted to the database. The interceptor may do some additional processing on the request.
  7. The request is submitted to the database. It is a singe response, blocking call request, as required by the Datatypes to Abeans mapping.
  8. The interceptor, if non-null, is first called and passed the request to perform post-submittal processing, and then called again with the same request to perform error check on the request.
  9. The value is extracted from the signle response of the request and returned from the method call. This completes the characteristic access processing.

Note that this class is final, non-instantiable (it has a private constructor), and consists of static methods only. Modeling elements that are Datatypes compliant and wish to access the characteristics may delegate their calls to the implementations of this class.

Author:
Matej Sekoranja (matej.sekoranja@cosylab.com)
Version:
@VERSION@


Constructor & Destructor Documentation

abeans::models::acs::cdb::dal::SequenceCharacteristicContextUtilities::SequenceCharacteristicContextUtilities  )  [inline, private]
 

Private constructor. This is a non-instantiable utility class.


Member Function Documentation

double [] abeans::models::acs::cdb::dal::SequenceCharacteristicContextUtilities::getDoubleSeqCharacteristic RemoteInfo  parentInfo,
String  name,
Proxy  proxy,
long  timeout,
RequestInterceptor  interceptor,
TypelessProperty  invoker
throws AbeansDataExchangeException [inline, static]
 

Accesses a sequence characteristic of a double type. See class javadoc to see a description of the standard characteristic get processing implemented by this method.

Parameters:
parentInfo the remote info to which the characteristic name and the get query will be appended; this remote info will be used as the request target; non-null
name the name of the characteristics, in string form, non-null
proxy the proxy of the invoker that must be passed to the pluggable layer with the request, non-null
timeout the timeout to use with the request, in milliseconds, or 0 if the request is not to be timed
interceptor the interceptor that will be passed the request for pre-submittal and post-submittal processing, may be null in which case no such processing will occur
invoker the property that owns the characteristic; the database of this property will be used to submit the request; this property will be used as the latest request index key, non-null
Returns:
the characteristic value
Exceptions:
AbeansDataExchangeException thrown in two cases: if either the request sumittal fails or, if the interceptor post-subittal check detects an error, the interceptor raises an exception

int [] abeans::models::acs::cdb::dal::SequenceCharacteristicContextUtilities::getIntegerSeqCharacteristic RemoteInfo  parentInfo,
String  name,
Proxy  proxy,
long  timeout,
RequestInterceptor  interceptor,
TypelessProperty  invoker
throws AbeansDataExchangeException [inline, static]
 

Accesses a sequence characteristic of a long type. See class javadoc to see a description of the standard characteristic get processing implemented by this method.

Parameters:
parentInfo the remote info to which the characteristic name and the get query will be appended; this remote info will be used as the request target; non-null
name the name of the characteristics, in string form, non-null
proxy the proxy of the invoker that must be passed to the pluggable layer with the request, non-null
timeout the timeout to use with the request, in milliseconds, or 0 if the request is not to be timed
interceptor the interceptor that will be passed the request for pre-submittal and post-submittal processing, may be null in which case no such processing will occur
invoker the property that owns the characteristic; the database of this property will be used to submit the request; this property will be used as the latest request index key, non-null
Returns:
the characteristic value
Exceptions:
AbeansDataExchangeException thrown in two cases: if either the request sumittal fails or, if the interceptor post-subittal check detects an error, the interceptor raises an exception

Object abeans::models::acs::cdb::dal::SequenceCharacteristicContextUtilities::getSeqCharacteristic RemoteInfo  parentInfo,
String  name,
Proxy  proxy,
long  timeout,
RequestInterceptor  interceptor,
TypelessProperty  invoker
throws AbeansDataExchangeException [inline, static]
 

Accesses a sequence characteristic the type of which will be determined at runtime. This is known as a dynamic characteristic in datatypes. See class javadoc to see a description of the standard characteristic get processing implemented by this method.

Parameters:
parentInfo the remote info to which the characteristic name and the get query will be appended; this remote info will be used as the request target; non-null
name the name of the characteristics, in string form, non-null
proxy the proxy of the invoker that must be passed to the pluggable layer with the request, non-null
timeout the timeout to use with the request, in milliseconds, or 0 if the request is not to be timed
interceptor the interceptor that will be passed the request for pre-submittal and post-submittal processing, may be null in which case no such processing will occur
invoker the property that owns the characteristic; the database of this property will be used to submit the request; this property will be used as the latest request index key, non-null
Returns:
the characteristic value
Exceptions:
AbeansDataExchangeException thrown in two cases: if either the request sumittal fails or, if the interceptor post-subittal check detects an error, the interceptor raises an exception

String [] abeans::models::acs::cdb::dal::SequenceCharacteristicContextUtilities::getStringSeqCharacteristic RemoteInfo  parentInfo,
String  name,
Proxy  proxy,
long  timeout,
RequestInterceptor  interceptor,
TypelessProperty  invoker
throws AbeansDataExchangeException [inline, static]
 

Accesses a sequence characteristic of a string type. See class javadoc to see a description of the standard characteristic get processing implemented by this method.

Parameters:
parentInfo the remote info to which the characteristic name and the get query will be appended; this remote info will be used as the request target; non-null
name the name of the characteristics, in string form, non-null
proxy the proxy of the invoker that must be passed to the pluggable layer with the request, non-null
timeout the timeout to use with the request, in milliseconds, or 0 if the request is not to be timed
interceptor the interceptor that will be passed the request for pre-submittal and post-submittal processing, may be null in which case no such processing will occur
invoker the property that owns the characteristic; the database of this property will be used to submit the request; this property will be used as the latest request index key, non-null
Returns:
the characteristic value
Exceptions:
AbeansDataExchangeException thrown in two cases: if either the request sumittal fails or, if the interceptor post-subittal check detects an error, the interceptor raises an exception

Object abeans::models::acs::cdb::dal::SequenceCharacteristicContextUtilities::internalGetCharacteristic RemoteInfo  parentInfo,
String  name,
Proxy  proxy,
long  timeout,
RequestInterceptor  interceptor,
TypelessProperty  invoker,
ResponseType  seqElemType
throws AbeansDataExchangeException [inline, static, private]
 

Accesses a characteristic the type of which will be determined at runtime. This is known as a dynamic characteristic in datatypes. See class javadoc to see a description of the standard characteristic get processing implemented by this method.

Parameters:
parentInfo the remote info to which the characteristic name and the get query will be appended; this remote info will be used as the request target; non-null
name the name of the characteristics, in string form, non-null
proxy the proxy of the invoker that must be passed to the pluggable layer with the request, non-null
timeout the timeout to use with the request, in milliseconds, or 0 if the request is not to be timed
interceptor the interceptor that will be passed the request for pre-submittal and post-submittal processing, may be null in which case no such processing will occur
invoker the property that owns the characteristic; the database of this property will be used to submit the request; this property will be used as the latest request index key, non-null
seqElemType type of sequence element, additional "sequenceElementType" is added to indicate sequence type request, non-null
Returns:
the characteristic value
Exceptions:
AbeansDataExchangeException thrown in two cases: if either the request sumittal fails or, if the interceptor post-subittal check detects an error, the interceptor raises an exception


The documentation for this class was generated from the following file:
Generated on Thu Apr 30 02:43:15 2009 for ACS Java API by doxygen 1.3.8