Class AbstractAasRestInvocablesCreator
java.lang.Object
de.iip_ecosphere.platform.support.aas.basyx2.AbstractAasRestInvocablesCreator
- All Implemented Interfaces:
de.iip_ecosphere.platform.support.aas.InvocablesCreator,Serializable
- Direct Known Subclasses:
AasRestInvocablesCreator
public abstract class AbstractAasRestInvocablesCreator
extends Object
implements de.iip_ecosphere.platform.support.aas.InvocablesCreator, Serializable
Implements an abstract invocables creator for the VAB following the naming conventions of
AasOperationsProvider. 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:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classDefines a generic, serializable operation. -
Field Summary
FieldsFields inherited from interface de.iip_ecosphere.platform.support.aas.InvocablesCreator
NULL_CREATOR, READ_ONLY, WRITE_ONLY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract StringcomposeUrl(String suffix) Composes a server URL from the given URLsuffix.de.iip_ecosphere.platform.support.aas.InvokablecreateGetter(String name) de.iip_ecosphere.platform.support.aas.InvokablecreateInvocable(String name) de.iip_ecosphere.platform.support.aas.InvokablecreateSetter(String name) de.iip_ecosphere.platform.support.aas.InvocablesCreatorexecutableCreator(de.iip_ecosphere.platform.support.function.IOSupplier<de.iip_ecosphere.platform.support.aas.Aas> aasSupplier, String[] elementPath, Function<String, String> unqualifier) (package private) static StringBaSyX2 operates with URLs rather than names.protected abstract StringgetId()Returns an identifier for the underlying connection, e.g., host + port.protected abstract org.eclipse.digitaltwin.basyx.submodelrepository.client.ConnectedSubmodelRepositoryReturns the submodel repository to delegate calls to.protected abstract StringReturns the submodel repository to delegate calls to.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.iip_ecosphere.platform.support.aas.InvocablesCreator
setLogLevel
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
-
Constructor Details
-
AbstractAasRestInvocablesCreator
public AbstractAasRestInvocablesCreator()
-
-
Method Details
-
getId
Returns an identifier for the underlying connection, e.g., host + port.- Returns:
- the identifier
-
composeUrl
Composes a server URL from the given URLsuffix.- Parameters:
suffix- the URL suffix- Returns:
- the composed URL
-
getSubmodelRepository
protected abstract org.eclipse.digitaltwin.basyx.submodelrepository.client.ConnectedSubmodelRepository getSubmodelRepository()Returns the submodel repository to delegate calls to.- Returns:
- the submodel repository
-
getSubmodelRepositoryUrl
Returns the submodel repository to delegate calls to.- Returns:
- the submodel repository url
-
createGetter
- Specified by:
createGetterin interfacede.iip_ecosphere.platform.support.aas.InvocablesCreator
-
createSetter
- Specified by:
createSetterin interfacede.iip_ecosphere.platform.support.aas.InvocablesCreator
-
fixName
BaSyX2 operates with URLs rather than names. Get rid of problematic characters for URL composition.- Parameters:
name- the name- Returns:
- the fixed name
-
createInvocable
- Specified by:
createInvocablein interfacede.iip_ecosphere.platform.support.aas.InvocablesCreator
-
executableCreator
public de.iip_ecosphere.platform.support.aas.InvocablesCreator executableCreator(de.iip_ecosphere.platform.support.function.IOSupplier<de.iip_ecosphere.platform.support.aas.Aas> aasSupplier, String[] elementPath, Function<String, String> unqualifier) - Specified by:
executableCreatorin interfacede.iip_ecosphere.platform.support.aas.InvocablesCreator
-