fulmine.model.component
Interface IComponent

All Superinterfaces:
Cloneable, IAddressable, IDescriptor, IDestroyable, IEvent, IEventSource, ILifeCycle, IWireState
All Known Subinterfaces:
IContainer, IContainerDefinitionField, IField
All Known Implementing Classes:
AbstractComponent, AbstractContainer, AbstractDynamicContainer, AbstractEventProcessingContainer, AbstractField, ActiveAsymmetricEventProcessor, AsymmetricEventProcessor, BasicContainer, BooleanField, ContainerDefinitionField, DescriptorField, DoubleField, EventSource, FloatField, ImageEvent, IntegerField, LongField, Record, StringField, SystemEventSource

public interface IComponent
extends IWireState, IEventSource, IEvent, ILifeCycle, IAddressable, IDescriptor

An interface for a component object. This is the highest abstraction in the data model framework. The data model framework can represent data entities and their properties. A component is either an entity or a property of an entity.

A component has an identity, a type and belongs to a domain. The identity uniquely identifies the entity or entity property the component represents. When a component represents an entity, the type provides a partitioning mechanism for the logical characteristics of the entity and the domain expresses the different modes the entity may exist in. These are abstract concepts; concrete implementations choose how type and domain is interpreted.

When a component represents a property of an entity, the type represents the class of the property of the entity and the domain is left unspecified.

A component can read its state from and write its state to a 'wire format'. In its simplest form, a component can serialise a single property.

A component also participates in the event framework, it is an IEventSource and can raise IEvent objects that are received by registered IEventListener instances.

Author:
Ramon Servadei

Method Summary
 
Methods inherited from interface fulmine.protocol.wire.IWireState
readState, writeState
 
Methods inherited from interface fulmine.event.IEventSource
addEvent, addListener, getEventSourceGroupId, getListeners, removeListener, removeListeners
 
Methods inherited from interface fulmine.IDescriptor
toDetailedString, toIdentityString
 
Methods inherited from interface fulmine.ILifeCycle
isActive, start
 
Methods inherited from interface fulmine.IDestroyable
destroy
 
Methods inherited from interface fulmine.IAddressable
getAddress, getDomain, getIdentity, getType
 
Methods inherited from interface fulmine.event.IEvent
clone, getDrivingFrame, getFrame, getSource, getTriggerEvent, setTriggerEvent
 
Methods inherited from interface fulmine.IDescriptor
toDetailedString, toIdentityString
 
Methods inherited from interface fulmine.IAddressable
getAddress, getDomain, getIdentity, getType
 



Copyright © 2007-2009. All Rights Reserved.