Class ReadAndWriteSingleFeatureFunction<DATA,ELEMENTS,TYPE extends DataFeatureFunctionTypeInfo<DATA,ELEMENTS>>
- java.lang.Object
-
- org.openmuc.jeebus.spine.spi.function.FeatureFunction
-
- org.openmuc.jeebus.spine.spi.function.ReadSingleFeatureFunction<DATA,ELEMENTS,TYPE>
-
- org.openmuc.jeebus.spine.spi.function.ReadAndWriteSingleFeatureFunction<DATA,ELEMENTS,TYPE>
-
- All Implemented Interfaces:
java.lang.AutoCloseable,Shutdownable
public abstract class ReadAndWriteSingleFeatureFunction<DATA,ELEMENTS,TYPE extends DataFeatureFunctionTypeInfo<DATA,ELEMENTS>> extends ReadSingleFeatureFunction<DATA,ELEMENTS,TYPE>
-
-
Field Summary
Fields Modifier and Type Field Description protected static org.slf4j.Loggerlogger-
Fields inherited from class org.openmuc.jeebus.spine.spi.function.ReadSingleFeatureFunction
allowedReadCmdOptions, data, dataLock
-
Fields inherited from class org.openmuc.jeebus.spine.spi.function.FeatureFunction
feature
-
-
Constructor Summary
Constructors Constructor Description ReadAndWriteSingleFeatureFunction(java.lang.String functionName, TYPE typeInfo)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclose()Cleanly and promptly shut down this object, as well as all child objects and objects depending on this one.TYPEgetTypeInfo()DataValidation<DATA>getUseCaseDataValidation()voidsetUseCaseDataValidation(DataValidation<DATA> useCaseDataValidation)voidsetUseCaseWriteDataListener(WriteSingleDataListener<DATA> useCaseWriteSingleDataListener)voidsetUseCaseWriteValidation(WriteSingleDataValidation<DATA,ELEMENTS> useCaseWriteValidation)protected abstract voidvalidateData(DATA data)Validates the given data.SpineAcknowledgmentwrite(org.openmuc.jeebus.spine.xsd.v1.CmdType cmd, org.openmuc.jeebus.spine.xsd.v1.FeatureAddressType sourceAddress)-
Methods inherited from class org.openmuc.jeebus.spine.spi.function.ReadSingleFeatureFunction
getAllowedReadCmdOptions, getDataCopy, read, setAllowedReadCmdOptions, setUseCaseReadSingleDataValidation, updateData, validateReadCmd
-
Methods inherited from class org.openmuc.jeebus.spine.spi.function.FeatureFunction
bindingRequired, call, getFunctionName, getFunctionProperty, isCallable, isReadable, isWritable, matchAddress, requireBinding, setCallable, setFeature, setReadable, setWritable
-
-
-
-
Constructor Detail
-
ReadAndWriteSingleFeatureFunction
public ReadAndWriteSingleFeatureFunction(java.lang.String functionName, TYPE typeInfo)
-
-
Method Detail
-
setUseCaseWriteValidation
public void setUseCaseWriteValidation(WriteSingleDataValidation<DATA,ELEMENTS> useCaseWriteValidation)
-
setUseCaseWriteDataListener
public void setUseCaseWriteDataListener(WriteSingleDataListener<DATA> useCaseWriteSingleDataListener)
-
write
public SpineAcknowledgment write(org.openmuc.jeebus.spine.xsd.v1.CmdType cmd, org.openmuc.jeebus.spine.xsd.v1.FeatureAddressType sourceAddress) throws SpineException
- Overrides:
writein classReadSingleFeatureFunction<DATA,ELEMENTS,TYPE extends DataFeatureFunctionTypeInfo<DATA,ELEMENTS>>- Parameters:
cmd- to be written data including optional filters for restricted function exchangesourceAddress- the feature address of the client feature- Returns:
- an acknowledgment stating the result of the operation
- Throws:
SpineException- if the write command encounters an exception
-
getUseCaseDataValidation
public DataValidation<DATA> getUseCaseDataValidation()
-
setUseCaseDataValidation
public void setUseCaseDataValidation(DataValidation<DATA> useCaseDataValidation)
-
validateData
protected abstract void validateData(DATA data) throws DataValidationExceptionValidates the given data. Must be implemented by the specific Feature Function.- Parameters:
data- the data to validate- Throws:
DataValidationException- if the validation fails
-
getTypeInfo
public TYPE getTypeInfo()
-
close
public void close()
Description copied from interface:ShutdownableCleanly and promptly shut down this object, as well as all child objects and objects depending on this one.
-
-