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
Copyright © 2007-2009. All Rights Reserved.