Class AasConnector.AasModelAccess

  • All Implemented Interfaces:
    de.iip_ecosphere.platform.connectors.model.ModelAccess
    Enclosing class:
    AasConnector<CO,​CI>

    private class AasConnector.AasModelAccess
    extends de.iip_ecosphere.platform.connectors.model.AbstractModelAccess
    Implements the model access for AAS.
    Author:
    Holger Eichelberger, SSE
    • Nested Class Summary

      • Nested classes/interfaces inherited from class de.iip_ecosphere.platform.connectors.model.AbstractModelAccess

        de.iip_ecosphere.platform.connectors.model.AbstractModelAccess.NotificationChangedListener
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private de.iip_ecosphere.platform.support.aas.ElementsAccess base  
      private java.util.Map<java.lang.String,​java.util.Map<java.lang.String,​de.iip_ecosphere.platform.support.aas.ElementsAccess>> elements  
      private AasConnector.AasModelAccess parent  
      private static char SEPARATOR_CHAR  
      private static java.lang.String SEPARATOR_STRING  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected AasModelAccess()
      Creates the instance and binds the listener to the creating connector instance.
      protected AasModelAccess​(de.iip_ecosphere.platform.support.aas.ElementsAccess base, AasConnector.AasModelAccess parent)
      Creates the instance and binds the listener to the creating connector instance.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object call​(java.lang.String qName, java.lang.Object... args)  
      private de.iip_ecosphere.platform.support.aas.Property findProperty​(java.lang.String qName)
      Finds an AAS property.
      java.lang.Object get​(java.lang.String qName)  
      protected de.iip_ecosphere.platform.connectors.ConnectorParameter getConnectorParameter()  
      java.lang.String getQSeparator()  
      <T> T getStruct​(java.lang.String qName, java.lang.Class<T> type)  
      void monitor​(int notificationInterval, java.lang.String... qName)  
      void monitorModelChanges​(int notificationInterval)  
      void registerCustomType​(java.lang.Class<?> cls)  
      private de.iip_ecosphere.platform.support.aas.ElementsAccess retrieveElement​(de.iip_ecosphere.platform.support.aas.ElementsAccess current, java.lang.String qName)
      Retrieves a node starting at current recursively following the path given by qName.
      private de.iip_ecosphere.platform.support.aas.ElementsAccess retrieveElement​(java.lang.String qName)
      Retrieves a node starting at the root of the OPC UA model based on the node's qualified name qName.
      void set​(java.lang.String qName, java.lang.Object value)  
      void setStruct​(java.lang.String qName, java.lang.Object value)  
      AasConnector.AasModelAccess stepInto​(java.lang.String name)  
      AasConnector.AasModelAccess stepOut()  
      java.lang.String topInstancesQName()  
      • Methods inherited from class de.iip_ecosphere.platform.connectors.model.AbstractModelAccess

        iqName, isDetailNotifiedItemEnabled, monitor, monitorModelChanges, qName, setDetailNotifiedItem, useNotifications, useNotifications
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface de.iip_ecosphere.platform.connectors.model.ModelAccess

        get, getBoolean, getByte, getDouble, getFloat, getInputConverter, getInt, getLong, getOutputConverter, getShort, getString, setBoolean, setByte, setDouble, setFloat, setInt, setLong, setShort, setString
    • Field Detail

      • SEPARATOR_STRING

        private static final java.lang.String SEPARATOR_STRING
        See Also:
        Constant Field Values
      • base

        private de.iip_ecosphere.platform.support.aas.ElementsAccess base
      • elements

        private java.util.Map<java.lang.String,​java.util.Map<java.lang.String,​de.iip_ecosphere.platform.support.aas.ElementsAccess>> elements
    • Constructor Detail

      • AasModelAccess

        protected AasModelAccess()
        Creates the instance and binds the listener to the creating connector instance.
      • AasModelAccess

        protected AasModelAccess​(de.iip_ecosphere.platform.support.aas.ElementsAccess base,
                                 AasConnector.AasModelAccess parent)
        Creates the instance and binds the listener to the creating connector instance. Sets a resolution context by the given submodel/collection.
        Parameters:
        base - the element to resolve on
        parent - the return parent for stepOut()
    • Method Detail

      • topInstancesQName

        public java.lang.String topInstancesQName()
      • getQSeparator

        public java.lang.String getQSeparator()
      • findProperty

        private de.iip_ecosphere.platform.support.aas.Property findProperty​(java.lang.String qName)
                                                                     throws java.io.IOException
        Finds an AAS property.
        Parameters:
        qName - the qualified name of the property
        Returns:
        the property
        Throws:
        java.io.IOException - if the property cannot be found/retrieved
      • retrieveElement

        private de.iip_ecosphere.platform.support.aas.ElementsAccess retrieveElement​(java.lang.String qName)
                                                                              throws java.io.IOException
        Retrieves a node starting at the root of the OPC UA model based on the node's qualified name qName.
        Parameters:
        qName - the qualified node name
        Returns:
        the node
        Throws:
        java.io.IOException - if no node can be found for qName
      • retrieveElement

        private de.iip_ecosphere.platform.support.aas.ElementsAccess retrieveElement​(de.iip_ecosphere.platform.support.aas.ElementsAccess current,
                                                                                     java.lang.String qName)
        Retrieves a node starting at current recursively following the path given by qName.
        Parameters:
        current - the current not to start searching for
        qName - the qualified node name
        Returns:
        the node or null for none found
      • call

        public java.lang.Object call​(java.lang.String qName,
                                     java.lang.Object... args)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • get

        public java.lang.Object get​(java.lang.String qName)
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • set

        public void set​(java.lang.String qName,
                        java.lang.Object value)
                 throws java.io.IOException
        Throws:
        java.io.IOException
      • getStruct

        public <T> T getStruct​(java.lang.String qName,
                               java.lang.Class<T> type)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • setStruct

        public void setStruct​(java.lang.String qName,
                              java.lang.Object value)
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • registerCustomType

        public void registerCustomType​(java.lang.Class<?> cls)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • monitor

        public void monitor​(int notificationInterval,
                            java.lang.String... qName)
                     throws java.io.IOException
        Throws:
        java.io.IOException
      • monitorModelChanges

        public void monitorModelChanges​(int notificationInterval)
                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • getConnectorParameter

        protected de.iip_ecosphere.platform.connectors.ConnectorParameter getConnectorParameter()
        Specified by:
        getConnectorParameter in class de.iip_ecosphere.platform.connectors.model.AbstractModelAccess
      • stepInto

        public AasConnector.AasModelAccess stepInto​(java.lang.String name)
                                             throws java.io.IOException
        Throws:
        java.io.IOException