Class VabInvocablesCreator
- java.lang.Object
-
- de.iip_ecosphere.platform.support.aas.basyx.VabInvocablesCreator
-
- All Implemented Interfaces:
de.iip_ecosphere.platform.support.aas.InvocablesCreator,java.io.Serializable
- Direct Known Subclasses:
VabHttpInvocablesCreator,VabHttpsInvocablesCreator,VabTcpInvocablesCreator
public abstract class VabInvocablesCreator extends java.lang.Object implements de.iip_ecosphere.platform.support.aas.InvocablesCreator, java.io.SerializableImplements an abstract invocables creator for the VAB following the naming conventions ofVabOperationsProvider. Function objects as well as class itself must be serializable for remote deployment. Although serializable lambda functions appear feasible, we experienced deserialization problems and rely now on explicit functor instances. Failing operation executions throw the occuring (runtime) exception and require catching them.- Author:
- Holger Eichelberger, SSE
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classVabInvocablesCreator.AbstractFunctorDefines an abstract, generic, serializable functor.protected static classVabInvocablesCreator.GetterDefines a generic, serializable getter.protected static classVabInvocablesCreator.OperationDefines a generic, serializable operation.protected static classVabInvocablesCreator.SetterDefines a generic, serializable setter.
-
Field Summary
Fields Modifier and Type Field Description private static longserialVersionUID
-
Constructor Summary
Constructors Constructor Description VabInvocablesCreator()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.util.function.Supplier<java.lang.Object>createGetter(java.lang.String name)java.util.function.Function<java.lang.Object[],java.lang.Object>createInvocable(java.lang.String name)protected abstract org.eclipse.basyx.vab.modelprovider.VABElementProxycreateProxy()Creates the element proxy.java.util.function.Consumer<java.lang.Object>createSetter(java.lang.String name)protected abstract java.lang.StringgetId()Returns an identifier for the underlying connection, e.g., host + port.
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
-
Method Detail
-
createProxy
protected abstract org.eclipse.basyx.vab.modelprovider.VABElementProxy createProxy()
Creates the element proxy.- Returns:
- the element proxy
-
getId
protected abstract java.lang.String getId()
Returns an identifier for the underlying connection, e.g., host + port.- Returns:
- the identifier
-
createGetter
public java.util.function.Supplier<java.lang.Object> createGetter(java.lang.String name)
- Specified by:
createGetterin interfacede.iip_ecosphere.platform.support.aas.InvocablesCreator
-
createSetter
public java.util.function.Consumer<java.lang.Object> createSetter(java.lang.String name)
- Specified by:
createSetterin interfacede.iip_ecosphere.platform.support.aas.InvocablesCreator
-
createInvocable
public java.util.function.Function<java.lang.Object[],java.lang.Object> createInvocable(java.lang.String name)
- Specified by:
createInvocablein interfacede.iip_ecosphere.platform.support.aas.InvocablesCreator
-
-