Interface TransformerRecord

All Superinterfaces:
DSData, DSPacket, DSRecord, DSSerializable, Iterable<DSField>, TransformerData, TransformerFlags
All Known Implementing Classes:
TransformerRecordImpl

public interface TransformerRecord extends TransformerData, DSRecord

Represents an update for a particular record object. An update may be received by a Transformer module if it has subscribed to some data using either the Subscriber.addSubscriptionListener(String, SubscriptionListener) or the Subscriber.addSubscriptionListener(ObjectType, SubscriptionListener) methods. If the object's type is a record, then the update can be cast to a TransformerRecord. Alternatively, the Transformer module can create an update using one of the DSFactory.createTransformerRecord(java.lang.String) methods, and can send the update to the Transformer core for processing.

The option to create instances of a TransformerRecord is vital for any Transformer module that wants to act as a DataProvider, or to process an update for one DataSource object, and publish the results of the processing on a different DataSource object.

As soon as the update is sent, its memory is freed by the Transformer core. Any further attempts to use the object will result in IllegalStateExceptions being thrown. If the update needs to be sent, then further changes made to the object, the DSFactory.createTransformerRecord(TransformerRecord) method should be used to create a copy of the object before the update is sent.

See Also: