Class CipClass

    • Constructor Detail

      • CipClass

        public CipClass​(ClassSeg seg,
                        CipObject parent,
                        java.lang.String name)
      • CipClass

        public CipClass​(ClassSeg seg,
                        CipObject parent,
                        int rev,
                        int clsattrmx,
                        int instattrmx,
                        java.lang.String name)
    • Method Detail

      • getRevision

        public short getRevision()
      • getInstances

        public int[] getInstances()
        Classes have a variety of reasons to inspect a list of their own instances, including finding unused IDs for new instances.
        Specified by:
        getInstances in interface InstanceHolder
        Returns:
        Sorted list of instance ID numbers
      • getAutoInstanceNumber

        public int getAutoInstanceNumber()
        Description copied from interface: InstanceHolder
        Instance holders may have specific rules for instance IDs for dynamically created instances (null InstanceSeg). The delegate uses the lowest open instance number. The caller should synchronize on the holder's public "children" field before calling this until after setting the child's segment.
        Specified by:
        getAutoInstanceNumber in interface InstanceHolder
        Returns:
      • service

        public void service​(CipObject appContext,
                            CipRequest request,
                            int nesting)
        Description copied from class: CipObject

        Execute a CIP service on the object, using the request supplied. Supply a reply to the request and/or throw an appropriate CipException. Replies are not required before this routine returns.

        Direct service() calls MUST NOT BLOCK. Any operation that will take any significant time must be delegated to an executor. "Significant" may vary by application, but typically would be in the fractional millisecond range.

        Specified by:
        service in interface AttributeHolder
        Overrides:
        service in class CipObject
        Parameters:
        appContext - Root object for application path lookups. Generally a Mirrored Device from a port context.
        request - What to do and where to reply. Services to be handled by child objects are to be passed to their service() method with nesting+1.
        nesting - How many leading path segments items to skip when processing this request. Avoids copying the balance of an application path into a new request when passing a request to a child object.
      • getEPathImpl

        protected CipPath getEPathImpl()
        Description copied from class: CipTree
        Retrieve the application path that leads to this object starting at the root (no parent). Will be called by getEPath() and the result cached by default.

        Root elements must override this to return an empty CipPath.

        Overrides:
        getEPathImpl in class CipTree
        Returns:
      • getAttribute

        public CipAttribute getAttribute​(int attr)
        Description copied from interface: AttributeHolder
        Classes and class instances implement this interface, which indicates that this object contains attributes that can be retrieved by number.
        Specified by:
        getAttribute in interface AttributeHolder
        Parameters:
        attr - The attribute number to retrieve, 1-65535.
        Returns:
        The attribute object or null if it doesn't exist