alma::ACS::impl::CommonPropertyImpl Class Reference

Inheritance diagram for alma::ACS::impl::CommonPropertyImpl:
Inheritance graph
[legend]
Collaboration diagram for alma::ACS::impl::CommonPropertyImpl:
Collaboration graph
[legend]

List of all members.

Classes

class  GetAsyncAction
class  SetAsyncAction

Public Member Functions

 CommonPropertyImpl (Class propertyType, String name, CharacteristicComponentImpl parentComponent) throws PropertyInitializationFailed
 CommonPropertyImpl (Class propertyType, String name, CharacteristicComponentImpl parentComponent, DataAccess dataAccess) throws PropertyInitializationFailed
void readCharacteristics () throws PropertyInitializationFailed
DataAccess getDataAccess ()
void destroy ()
long default_timer_trigger ()
long min_timer_trigger ()
abstract Object readPropertyTypeCharacteristic (String name) throws NoSuchCharacteristic
Monitor registerMonitor (MonitorOperations monitorImpl, Servant monitorServant)
void unregisterMonitor (MonitorOperations monitorImpl)
Object mnemonicValue (long keyTime, CompletionHolder completionHolder)

Protected Member Functions

void addValueToHistory (Object value, long timestamp)
Object getHistory (int lastValues, TimeSeqHolder timeSeqHolder)
Object getSync (CompletionHolder completionHolder) throws AcsJException
void getAsync (Callback callback, CBDescIn desc)
Completion setSync (Object value) throws AcsJException
void setAsync (Object value, CBvoid callback, CBDescIn desc)
void setNonblocking (Object value)

Protected Attributes

long defaultTimerTrigger
long minTimerTrigger
Object defaultValue
DataAccess dataAccess
Class propertyType
int historySize
int historyPosition
boolean historyTurnaround
Object historyValue
long[] historyTime
Map monitors
long mnemonicReadPending = 0
Object mnemonicValueRetrival = new Object()
ReadWriteLock mnemonicDataLock
long mnemonicTime
Object mnemonicValue
Completion mnemonicCompletion

Private Attributes

Logger m_logger

Detailed Description

Implementation of common property, i.e. type of java.lang.Object.

Author:
Matej Sekoranja
Version:
$id$

Constructor & Destructor Documentation

alma::ACS::impl::CommonPropertyImpl::CommonPropertyImpl ( Class  propertyType,
String  name,
CharacteristicComponentImpl  parentComponent 
) throws PropertyInitializationFailed [inline]

Constructor with memory data access.

Parameters:
propertyType property Class type, non-null.
name property name, non-null.
parentComponent parent component, non-null.
Exceptions:
PropertyInitializationFailed exception is thrown on failure

References m_logger, alma::ACS::impl::PropertyImpl::name(), alma::ACS::impl::PropertyImpl::parentComponent, and propertyType.

alma::ACS::impl::CommonPropertyImpl::CommonPropertyImpl ( Class  propertyType,
String  name,
CharacteristicComponentImpl  parentComponent,
DataAccess  dataAccess 
) throws PropertyInitializationFailed [inline]

Constructor.

Parameters:
propertyType property Class type, non-null.
name property name, non-null.
parentComponent parent component, non-null.
dataAccess read-write data access to be use, non-null.
Exceptions:
PropertyInitializationFailed exception is thrown on failure

References dataAccess, defaultValue, alma::ACS::impl::CharacteristicComponentImpl::getComponentContainerServices(), alma::acs::container::ContainerServicesBase::getLogger(), historyPosition, historySize, historyTime, historyTurnaround, historyValue, alma::ACS::jbaci::DataAccess::initializeValue(), m_logger, monitors, alma::ACS::impl::PropertyImpl::name(), alma::ACS::impl::PropertyImpl::parentComponent, propertyType, readCharacteristics(), registerMonitor(), and alma::ACS::jbaci::DataAccess::set().


Member Function Documentation

void alma::ACS::impl::CommonPropertyImpl::addValueToHistory ( Object  value,
long  timestamp 
) [inline, protected]

Add value to the history.

Parameters:
value value to be added to the history.
timestamp value timestamp (OMG) to be added to the history.

References historyPosition, historySize, historyTime, historyTurnaround, historyValue, m_logger, and propertyType.

long alma::ACS::impl::CommonPropertyImpl::default_timer_trigger (  )  [inline]
See also:
alma.ACS.P<type>Operations::default_timer_trigger()

Reimplemented in alma::ACS::impl::ROOnOffSwitchImpl.

References defaultTimerTrigger.

Referenced by alma::ACS::impl::CommonMonitorImpl::initialize().

void alma::ACS::impl::CommonPropertyImpl::destroy (  )  [inline]
See also:
alma.ACS.PropertyImpl::destroy()

Reimplemented from alma::ACS::impl::PropertyImpl.

References alma::ACS::SubscriptionOperations::destroy(), m_logger, and monitors.

void alma::ACS::impl::CommonPropertyImpl::getAsync ( Callback  callback,
CBDescIn  desc 
) [inline, protected]
DataAccess alma::ACS::impl::CommonPropertyImpl::getDataAccess (  )  [inline]
Object alma::ACS::impl::CommonPropertyImpl::getHistory ( int  lastValues,
TimeSeqHolder  timeSeqHolder 
) [inline, protected]
Object alma::ACS::impl::CommonPropertyImpl::getSync ( CompletionHolder  completionHolder  )  throws AcsJException [inline, protected]
See also:
alma.ACS.P<type>Operations::get_sync(alma.ACSErr.CompletionHolder)

References dataAccess, and alma::ACS::jbaci::DataAccess::get().

Referenced by alma::ACS::impl::RWCommonComparablePropertyImpl::decrementImpl(), alma::ACS::impl::CommonPropertyImpl::GetAsyncAction::execute(), alma::ACS::impl::RWuLongLongImpl::get_sync(), alma::ACS::impl::RWstringImpl::get_sync(), alma::ACS::impl::RWpatternImpl::get_sync(), alma::ACS::impl::RWOnOffSwitchImpl::get_sync(), alma::ACS::impl::RWlongSeqImpl::get_sync(), alma::ACS::impl::RWlongLongImpl::get_sync(), alma::ACS::impl::RWlongImpl::get_sync(), alma::ACS::impl::RWfloatSeqImpl::get_sync(), alma::ACS::impl::RWfloatImpl::get_sync(), alma::ACS::impl::RWdoubleSeqImpl::get_sync(), alma::ACS::impl::RWdoubleImpl::get_sync(), alma::ACS::impl::RWBoolImpl::get_sync(), alma::ACS::impl::ROuLongLongImpl::get_sync(), alma::ACS::impl::ROstringSeqImpl::get_sync(), alma::ACS::impl::ROstringImpl::get_sync(), alma::ACS::impl::ROpatternImpl::get_sync(), alma::ACS::impl::ROOnOffSwitchImpl::get_sync(), alma::ACS::impl::ROlongSeqImpl::get_sync(), alma::ACS::impl::ROlongLongImpl::get_sync(), alma::ACS::impl::ROlongImpl::get_sync(), alma::ACS::impl::ROfloatSeqImpl::get_sync(), alma::ACS::impl::ROfloatImpl::get_sync(), alma::ACS::impl::ROdoubleSeqImpl::get_sync(), alma::ACS::impl::ROdoubleImpl::get_sync(), alma::ACS::impl::ROBoolImpl::get_sync(), alma::ACS::impl::CommonROEnumPropertyImpl::get_sync(), alma::ACS::impl::RWCommonComparablePropertyImpl::incrementImpl(), and mnemonicValue().

long alma::ACS::impl::CommonPropertyImpl::min_timer_trigger (  )  [inline]
See also:
alma.ACS.P<type>Operations::min_timer_trigger()

Reimplemented in alma::ACS::impl::ROOnOffSwitchImpl.

References minTimerTrigger.

Referenced by alma::ACS::impl::CommonMonitorImpl::setTimeTrigger().

Object alma::ACS::impl::CommonPropertyImpl::mnemonicValue ( long  keyTime,
CompletionHolder  completionHolder 
) [inline]

Mnemonic value retrival. If keyTime == mnemonicTime cached mnemonic value is returned.

Parameters:
keyTime time (java) of mnemonic request.
completionHolder completion holder that will be given completion. NOTE: completion is passsed by reference, so do not change its value, copy its value before and do it on a local copy
Returns:
current property value.
See also:
getSync

References defaultValue, getSync(), mnemonicCompletion, mnemonicDataLock, mnemonicReadPending, mnemonicTime, mnemonicValue, mnemonicValueRetrival, and alma::ACSErr::CompletionHolder::value.

void alma::ACS::impl::CommonPropertyImpl::readCharacteristics (  )  throws PropertyInitializationFailed [inline]
abstract Object alma::ACS::impl::CommonPropertyImpl::readPropertyTypeCharacteristic ( String  name  )  throws NoSuchCharacteristic [pure virtual]
Monitor alma::ACS::impl::CommonPropertyImpl::registerMonitor ( MonitorOperations  monitorImpl,
Servant  monitorServant 
) [inline]

Register monitor on this property (and optionally CORBA activate). Registration is needed for monitor destruction on property destruction.

Parameters:
monitorImpl monitor implementation (e.g. class implementing MonitorOperations interface).
monitorServant monitor CORBA servant (e.g. Monitor<type>POATie class). If null monitor will be threated as non-CORBA monitor and no CORBA activation will be done.
Returns:
CORBA activated monitor reference, null if monitorServant == null.

References alma::acs::container::ContainerServicesBase::activateOffShoot(), alma::ACS::impl::CharacteristicComponentImpl::getComponentContainerServices(), m_logger, monitors, and alma::ACS::impl::PropertyImpl::parentComponent.

Referenced by CommonPropertyImpl(), alma::ACS::impl::RWuLongLongImpl::create_postponed_monitor(), alma::ACS::impl::RWstringImpl::create_postponed_monitor(), alma::ACS::impl::RWpatternImpl::create_postponed_monitor(), alma::ACS::impl::RWOnOffSwitchImpl::create_postponed_monitor(), alma::ACS::impl::RWlongSeqImpl::create_postponed_monitor(), alma::ACS::impl::RWlongLongImpl::create_postponed_monitor(), alma::ACS::impl::RWlongImpl::create_postponed_monitor(), alma::ACS::impl::RWfloatSeqImpl::create_postponed_monitor(), alma::ACS::impl::RWfloatImpl::create_postponed_monitor(), alma::ACS::impl::RWdoubleSeqImpl::create_postponed_monitor(), alma::ACS::impl::RWdoubleImpl::create_postponed_monitor(), alma::ACS::impl::RWBoolImpl::create_postponed_monitor(), alma::ACS::impl::ROuLongLongImpl::create_postponed_monitor(), alma::ACS::impl::ROstringSeqImpl::create_postponed_monitor(), alma::ACS::impl::ROstringImpl::create_postponed_monitor(), alma::ACS::impl::ROpatternImpl::create_postponed_monitor(), alma::ACS::impl::ROOnOffSwitchImpl::create_postponed_monitor(), alma::ACS::impl::ROlongSeqImpl::create_postponed_monitor(), alma::ACS::impl::ROlongLongImpl::create_postponed_monitor(), alma::ACS::impl::ROlongImpl::create_postponed_monitor(), alma::ACS::impl::ROfloatSeqImpl::create_postponed_monitor(), alma::ACS::impl::ROfloatImpl::create_postponed_monitor(), alma::ACS::impl::ROdoubleSeqImpl::create_postponed_monitor(), alma::ACS::impl::ROdoubleImpl::create_postponed_monitor(), alma::ACS::impl::ROBoolImpl::create_postponed_monitor(), and alma::ACS::impl::CommonROEnumPropertyImpl::create_postponed_monitor().

void alma::ACS::impl::CommonPropertyImpl::setAsync ( Object  value,
CBvoid  callback,
CBDescIn  desc 
) [inline, protected]
void alma::ACS::impl::CommonPropertyImpl::setNonblocking ( Object  value  )  [inline, protected]
Completion alma::ACS::impl::CommonPropertyImpl::setSync ( Object  value  )  throws AcsJException [inline, protected]
void alma::ACS::impl::CommonPropertyImpl::unregisterMonitor ( MonitorOperations  monitorImpl  )  [inline]

Member Data Documentation

Read-only data access.

Referenced by alma::ACS::impl::CommonComparablePropertyImpl::CommonComparablePropertyImpl(), CommonPropertyImpl(), alma::ACS::impl::CommonROEnumPropertyImpl::CommonROEnumPropertyImpl(), alma::ACS::impl::CommonRWEnumPropertyImpl::CommonRWEnumPropertyImpl(), alma::ACS::impl::CommonRWEnumPropertyImpl::createEnumProperty(), alma::ACS::impl::CommonROEnumPropertyImpl::createEnumProperty(), getDataAccess(), getSync(), alma::ACS::impl::ROBoolImpl::ROBoolImpl(), alma::ACS::impl::ROCommonComparablePropertyImpl::ROCommonComparablePropertyImpl(), alma::ACS::impl::ROCommonPropertyImpl::ROCommonPropertyImpl(), alma::ACS::impl::ROdoubleImpl::ROdoubleImpl(), alma::ACS::impl::ROdoubleSeqImpl::ROdoubleSeqImpl(), alma::ACS::impl::ROfloatImpl::ROfloatImpl(), alma::ACS::impl::ROfloatSeqImpl::ROfloatSeqImpl(), alma::ACS::impl::ROlongImpl::ROlongImpl(), alma::ACS::impl::ROlongLongImpl::ROlongLongImpl(), alma::ACS::impl::ROlongSeqImpl::ROlongSeqImpl(), alma::ACS::impl::ROOnOffSwitchImpl::ROOnOffSwitchImpl(), alma::ACS::impl::ROpatternImpl::ROpatternImpl(), alma::ACS::impl::ROstringImpl::ROstringImpl(), alma::ACS::impl::ROstringSeqImpl::ROstringSeqImpl(), alma::ACS::impl::ROuLongLongImpl::ROuLongLongImpl(), alma::ACS::impl::RWBoolImpl::RWBoolImpl(), alma::ACS::impl::RWCommonComparablePropertyImpl::RWCommonComparablePropertyImpl(), alma::ACS::impl::RWCommonPropertyImpl::RWCommonPropertyImpl(), alma::ACS::impl::RWdoubleImpl::RWdoubleImpl(), alma::ACS::impl::RWdoubleSeqImpl::RWdoubleSeqImpl(), alma::ACS::impl::RWfloatImpl::RWfloatImpl(), alma::ACS::impl::RWfloatSeqImpl::RWfloatSeqImpl(), alma::ACS::impl::RWlongImpl::RWlongImpl(), alma::ACS::impl::RWlongLongImpl::RWlongLongImpl(), alma::ACS::impl::RWlongSeqImpl::RWlongSeqImpl(), alma::ACS::impl::RWOnOffSwitchImpl::RWOnOffSwitchImpl(), alma::ACS::impl::RWpatternImpl::RWpatternImpl(), alma::ACS::impl::RWstringImpl::RWstringImpl(), alma::ACS::impl::RWuLongLongImpl::RWuLongLongImpl(), and setSync().

Pointer in history arrays, points to first empty element.

Referenced by addValueToHistory(), CommonPropertyImpl(), and getHistory().

History size, if 0 history is disabled.

Referenced by addValueToHistory(), CommonPropertyImpl(), and getHistory().

Array of history times (OMG standard time).

Referenced by addValueToHistory(), CommonPropertyImpl(), and getHistory().

true, if values in history arrays exceed end of arrays (circular arrays).

Referenced by addValueToHistory(), CommonPropertyImpl(), and getHistory().

Array of history values.

Referenced by addValueToHistory(), CommonPropertyImpl(), and getHistory().

Completion of latest mnemonic value retrival.

Referenced by mnemonicValue().

Initial value:
 
                new ReentrantReadWriteLock()

Mnemonic variables lock.

Referenced by mnemonicValue().

Mnemonic read time key of (last) pending read.

Referenced by mnemonicValue().

Time "key" (Java) if when last mnemonic retrival.

Referenced by mnemonicValue().

Value of latest mnemonic value retrival.

Referenced by mnemonicValue().

Mnemonic read lock (dummy object).

Referenced by mnemonicValue().

List of all property monitors (needed on property destruction).

Referenced by CommonPropertyImpl(), destroy(), registerMonitor(), and unregisterMonitor().


The documentation for this class was generated from the following file:

Generated by  doxygen 1.6.2