@Override public Variant getAttributeValue () { return getValue (); }
@Override protected void process () { process ( null ); }
public synchronized void writeValue ( final Variant value ) throws InvalidOperationException, NullValueException, NotConvertableException { final Variant newValue = process ( value ); if ( newValue != null ) { writeCalculatedValue ( newValue ); } }
public void timeout () { this.stateItem.updateData ( Variant.FALSE, null, null ); this.timeoutStateItem.updateData ( Variant.TRUE, null, null ); }
@Override public synchronized DataItemInputChained createInput ( final String localId, final Map<String, Variant> properties ) { return registerItem ( new DataItemInputChained ( getId ( localId ), this.executor ), properties ); }
@Override protected WriteAttributeResults handleUnhandledAttributes ( final WriteAttributeResults writeAttributeResults, final Map<String, Variant> attributes ) { final Map<String, Variant> addAttributes = new HashMap<String, Variant> (); testFlag ( attributes, addAttributes, "test.error", "test.error" ); testFlag ( attributes, addAttributes, "test.alarm", "test.alarm" ); testFlag ( attributes, addAttributes, "test.warning", "warning" ); testFlag ( attributes, addAttributes, "test.manual", "manual" ); updateData ( null, addAttributes, AttributeMode.UPDATE ); return super.handleUnhandledAttributes ( writeAttributeResults, attributes ); }
@Override public synchronized WriteHandlerItem createInputOutput ( final String localId, final Map<String, Variant> properties, final WriteHandler writeHandler ) { return registerItem ( new WriteHandlerItem ( getId ( localId ), writeHandler, this.executor ), properties ); }
public void addChainElement ( final EnumSet<IODirection> when, final ChainItem item ) { if ( this.chain.add ( new ChainProcessEntry ( when, item ) ) ) { process (); } }
public DataItemInputChained ( final DataItemInformation dataItemInformation, final boolean autoTimestamp, final Executor executor ) { super ( dataItemInformation, executor ); if ( autoTimestamp ) { addChainElement ( IODirection.INPUT, new AutoTimestampChainItem () ); } }
@Override public WriteResult call () throws Exception { return processWriteValue ( value, operationParameters ); } } );
@Override public WriteAttributeResults call () throws Exception { return DataItemBaseChained.this.processSetAttributes ( attributes, operationParameters ); } } );
@Override public WriteAttributeResults processSetAttributes ( final Map<String, Variant> attributes, final OperationParameters operationParameters ) { return super.processSetAttributes ( attributes, operationParameters ); }
@Override protected NotifyFuture<WriteResult> startWriteCalculatedValue ( final Variant value, final OperationParameters operationParameters ) { updateData ( value, null, null ); return new InstantFuture<WriteResult> ( WriteResult.OK ); } }
@Override public WriteResult call () throws Exception { writeHandler.handleWrite ( value, operationParameters ); return new WriteResult (); } } );
@Override public Variant getAttributeValue () { return Variant.valueOf ( getValue () ); }
public void receivedUpdate ( final long now ) { tickNow ( now ); this.stateItem.updateData ( Variant.TRUE, null, null ); this.timeoutStateItem.updateData ( Variant.FALSE, null, null ); }
@Override public synchronized DataItemInputChained createInput ( final String localId, final Map<String, Variant> properties ) { return registerItem ( new DataItemInputChained ( getId ( localId ), this.executor ), properties ); }
@Override public synchronized WriteHandlerItem createInputOutput ( final String localId, final Map<String, Variant> properties, final WriteHandler writeHandler ) { return registerItem ( new WriteHandlerItem ( getId ( localId ), writeHandler, this.executor ), properties ); }
public void addChainElement ( final IODirection when, final ChainItem item ) { if ( this.chain.add ( new ChainProcessEntry ( EnumSet.of ( when ), item ) ) ) { process (); } }
@Override protected void handleReturnCode ( final int rc ) { this.failedItem.updateData ( Variant.valueOf ( rc < 0 ), null, null ); }