fulmine.model.container.impl
Class Record
java.lang.Object
fulmine.AbstractLifeCycle
fulmine.model.component.AbstractComponent
fulmine.model.container.AbstractContainer
fulmine.model.container.AbstractEventProcessingContainer
fulmine.model.container.AbstractDynamicContainer
fulmine.model.container.impl.Record
- All Implemented Interfaces:
- IEvent, IEventFrame, IEventSource, IAddressable, IDescriptor, IDestroyable, ILifeCycle, IComponent, IContainer, IRemoteSubscribable, IWireState, Cloneable
public class Record
- extends AbstractDynamicContainer
This is a dynamic container implementation. This implementation is thread
safe.
A record can be used as a base-class or as an outright class. If used
outright, it serves as a general purpose data construct that can be used in
the event distribution framework with no extra user code required other than
to populate the record. It is safe to simply construct the record instances
using the Record#Record(String)
constructor when used as a dynamic,
general purpose, construct.
When used as a base-class, user code is required if the record sub-class is
to participate in the event distribution framework. The appropriate user
coded IContainerFactory.IContainerBuilder
must be registered via the
ContainerFactory
for the record sub-class in the remote fulmine
context instance. If this is not performed, the remote context will default
to creating a standard record instance. Instances must also only be created
using the ContainerFactory#createContainer(String, int)
method.
A record can also be used as the base-class for a static container
implementation. The IContainerFactory.IContainerBuilder
will define
the IContainerDefinitionField
. The same base-class rules described in
the preceding paragraph apply.
- Author:
- Ramon Servadei
- See Also:
ContainerFactory
Constructor Summary |
Record(String nativeContextIdentity,
String identity,
IType type,
IDomain domain,
IFrameworkContext hostContext,
boolean local)
Type specific constructor that allows the record to be constructed with a
user defined type. |
Method Summary |
protected AsyncLog |
getLog()
Get the log to use for the object hierarchy |
Methods inherited from class fulmine.model.container.AbstractContainer |
add, beforeAdd, beforeRemove, beginFrame, contains, doPostAddListener, doPostRemoveListener, doReadState, doStart, doWriteState, endFrame, equals, flushFrame, get, getBooleanField, getComponentIdentities, getContext, getDataState, getDoubleField, getFields, getFloatField, getFrameIdentifier, getIntegerField, getLongField, getNativeContextIdentity, getRemoteSubscriptionCount, getStringField, hashCode, isEmpty, isEventFrameThread, isFrameActive, isLocal, isRemote, lockFrame, logNotTheEventFrameThread, markForRemoteSubscription, remove, setState, size, toDetailedString, toString, unmarkForRemoteSubscription |
Methods inherited from class fulmine.model.component.AbstractComponent |
addListener, checkClone, createIdentityString, doDestroy, getAddress, getAddressable, getDomain, getDrivingFrame, getEventSourceGroupId, getFrame, getIdentity, getIdentityString, getListeners, getSource, getTriggerEvent, getType, isClone, readState, removeListener, removeListeners, setDrivingFrame, setFrame, setTriggerEvent, toIdentityString, writeState |
Record
public Record(String nativeContextIdentity,
String identity,
IType type,
IDomain domain,
IFrameworkContext hostContext,
boolean local)
- Type specific constructor that allows the record to be constructed with a
user defined type. By default, the
ContainerFactory
will
construct a Record
if no
IContainerFactory.IContainerBuilder
has been registered. This
should be fine for use cases where a dynamic record of this type is
required. When a static record of this type is required, a builder has to
be registered in the remote context against the type argument, otherwise
a dynamic version will be created.
- Parameters:
nativeContextIdentity
- the name of the context this record is native to; the name of
its local contextidentity
- the identity for the recordtype
- the integer type for this record, must commence from
Type.RECORD
)domain
- the domain for the recordhostContext
- the context hosting this record instancelocal
- true
the container is local to this context
getLog
protected AsyncLog getLog()
- Description copied from class:
AbstractLifeCycle
- Get the log to use for the object hierarchy
- Overrides:
getLog
in class AbstractEventProcessingContainer
- Returns:
- the log to use for the object hierarchy
Copyright © 2007-2009. All Rights Reserved.