Class 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.Serializable
    Implements an abstract invocables creator for the VAB following the naming conventions of VabOperationsProvider. 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
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static long serialVersionUID  
      • Fields inherited from interface de.iip_ecosphere.platform.support.aas.InvocablesCreator

        READ_ONLY, WRITE_ONLY
    • 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.VABElementProxy createProxy()
      Creates the element proxy.
      java.util.function.Consumer<java.lang.Object> createSetter​(java.lang.String name)  
      protected abstract java.lang.String getId()
      Returns an identifier for the underlying connection, e.g., host + port.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • VabInvocablesCreator

        public VabInvocablesCreator()
    • 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:
        createGetter in interface de.iip_ecosphere.platform.support.aas.InvocablesCreator
      • createSetter

        public java.util.function.Consumer<java.lang.Object> createSetter​(java.lang.String name)
        Specified by:
        createSetter in interface de.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:
        createInvocable in interface de.iip_ecosphere.platform.support.aas.InvocablesCreator