Class DefaultAccessPermissionRule

  • All Implemented Interfaces:
    AccessPermissionRule, HasExtensions, Qualifiable, Referable

    public class DefaultAccessPermissionRule
    extends java.lang.Object
    implements AccessPermissionRule
    Default implementation of package io.adminshell.aas.v3.model.AccessPermissionRule Table that defines access permissions per authenticated subject for a set of objects (referable elements).
    • Field Detail

      • extensions

        protected java.util.List<Extension> extensions
      • qualifiers

        protected java.util.List<Constraint> qualifiers
      • category

        protected java.lang.String category
      • descriptions

        protected java.util.List<LangString> descriptions
      • displayNames

        protected java.util.List<LangString> displayNames
      • idShort

        protected java.lang.String idShort
    • Constructor Detail

      • DefaultAccessPermissionRule

        public DefaultAccessPermissionRule()
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • getPermissionsPerObjects

        public java.util.List<PermissionsPerObject> getPermissionsPerObjects()
        Description copied from interface: AccessPermissionRule
        Set of object-permission pairs that define the permissions per object within the access permission rule. More information under https://admin-shell.io/aas/3/0/RC01/AccessPermissionRule/permissionsPerObject
        Specified by:
        getPermissionsPerObjects in interface AccessPermissionRule
        Returns:
        Returns the List of PermissionsPerObjects for the property permissionsPerObjects.
      • setPermissionsPerObjects

        public void setPermissionsPerObjects​(java.util.List<PermissionsPerObject> permissionsPerObjects)
        Description copied from interface: AccessPermissionRule
        Set of object-permission pairs that define the permissions per object within the access permission rule. More information under https://admin-shell.io/aas/3/0/RC01/AccessPermissionRule/permissionsPerObject
        Specified by:
        setPermissionsPerObjects in interface AccessPermissionRule
        Parameters:
        permissionsPerObjects - desired value for the property permissionsPerObjects.
      • getTargetSubjectAttributes

        public SubjectAttributes getTargetSubjectAttributes()
        Description copied from interface: AccessPermissionRule
        Target subject attributes that need to be fulfilled by the accessing subject to get the permissions defined by this rule. More information under https://admin-shell.io/aas/3/0/RC01/AccessPermissionRule/targetSubjectAttributes
        Specified by:
        getTargetSubjectAttributes in interface AccessPermissionRule
        Returns:
        Returns the SubjectAttributes for the property targetSubjectAttributes.
      • setTargetSubjectAttributes

        public void setTargetSubjectAttributes​(SubjectAttributes targetSubjectAttributes)
        Description copied from interface: AccessPermissionRule
        Target subject attributes that need to be fulfilled by the accessing subject to get the permissions defined by this rule. More information under https://admin-shell.io/aas/3/0/RC01/AccessPermissionRule/targetSubjectAttributes
        Specified by:
        setTargetSubjectAttributes in interface AccessPermissionRule
        Parameters:
        targetSubjectAttributes - desired value for the property targetSubjectAttributes.
      • getCategory

        public java.lang.String getCategory()
        Description copied from interface: Referable
        The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. More information under https://admin-shell.io/aas/3/0/RC01/Referable/category
        Specified by:
        getCategory in interface Referable
        Returns:
        Returns the String for the property category.
      • setCategory

        public void setCategory​(java.lang.String category)
        Description copied from interface: Referable
        The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. More information under https://admin-shell.io/aas/3/0/RC01/Referable/category
        Specified by:
        setCategory in interface Referable
        Parameters:
        category - desired value for the property category.
      • getDescriptions

        public java.util.List<LangString> getDescriptions()
        Description copied from interface: Referable
        Description or comments on the element. The description can be provided in several languages. More information under https://admin-shell.io/aas/3/0/RC01/Referable/description
        Specified by:
        getDescriptions in interface Referable
        Returns:
        Returns the List of LangStrings for the property descriptions.
      • setDescriptions

        public void setDescriptions​(java.util.List<LangString> descriptions)
        Description copied from interface: Referable
        Description or comments on the element. The description can be provided in several languages. More information under https://admin-shell.io/aas/3/0/RC01/Referable/description
        Specified by:
        setDescriptions in interface Referable
        Parameters:
        descriptions - desired value for the property descriptions.
      • getDisplayNames

        public java.util.List<LangString> getDisplayNames()
        Description copied from interface: Referable
        Display name. Can be provided in several languages. More information under https://admin-shell.io/aas/3/0/RC01/Referable/displayName
        Specified by:
        getDisplayNames in interface Referable
        Returns:
        Returns the List of LangStrings for the property displayNames.
      • setDisplayNames

        public void setDisplayNames​(java.util.List<LangString> displayNames)
        Description copied from interface: Referable
        Display name. Can be provided in several languages. More information under https://admin-shell.io/aas/3/0/RC01/Referable/displayName
        Specified by:
        setDisplayNames in interface Referable
        Parameters:
        displayNames - desired value for the property displayNames.
      • getIdShort

        public java.lang.String getIdShort()
        Description copied from interface: Referable
        Identifying string of the element within its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ('_'); starting with a small letter. I.e. [a-z][a-zA-Z0-9_]+. Constraint AASd-003: idShort shall be matched case-insensitive. Constraint AASd-022: idShort of non-identifiable referables shall be unqiue in its namespace. Note: In case the element is a property and the property has a semantic definition (HasSemantics) the idShort is typically identical to the short name in English. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the 'BrowserPath' in OPC UA. More information under https://admin-shell.io/aas/3/0/RC01/Referable/idShort
        Specified by:
        getIdShort in interface Referable
        Returns:
        Returns the String for the property idShort.
      • setIdShort

        public void setIdShort​(java.lang.String idShort)
        Description copied from interface: Referable
        Identifying string of the element within its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ('_'); starting with a small letter. I.e. [a-z][a-zA-Z0-9_]+. Constraint AASd-003: idShort shall be matched case-insensitive. Constraint AASd-022: idShort of non-identifiable referables shall be unqiue in its namespace. Note: In case the element is a property and the property has a semantic definition (HasSemantics) the idShort is typically identical to the short name in English. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the 'BrowserPath' in OPC UA. More information under https://admin-shell.io/aas/3/0/RC01/Referable/idShort
        Specified by:
        setIdShort in interface Referable
        Parameters:
        idShort - desired value for the property idShort.
      • getExtensions

        public java.util.List<Extension> getExtensions()
        Description copied from interface: HasExtensions
        An extension of the element. More information under https://admin-shell.io/aas/3/0/RC01/HasExtensions/extension
        Specified by:
        getExtensions in interface HasExtensions
        Returns:
        Returns the List of Extensions for the property extensions.
      • setExtensions

        public void setExtensions​(java.util.List<Extension> extensions)
        Description copied from interface: HasExtensions
        An extension of the element. More information under https://admin-shell.io/aas/3/0/RC01/HasExtensions/extension
        Specified by:
        setExtensions in interface HasExtensions
        Parameters:
        extensions - desired value for the property extensions.
      • getQualifiers

        public java.util.List<Constraint> getQualifiers()
        Description copied from interface: Qualifiable
        Additional qualification of a qualifiable element. More information under https://admin-shell.io/aas/3/0/RC01/Qualifiable/qualifier
        Specified by:
        getQualifiers in interface Qualifiable
        Returns:
        Returns the List of Constraints for the property qualifiers.
      • setQualifiers

        public void setQualifiers​(java.util.List<Constraint> qualifiers)
        Description copied from interface: Qualifiable
        Additional qualification of a qualifiable element. More information under https://admin-shell.io/aas/3/0/RC01/Qualifiable/qualifier
        Specified by:
        setQualifiers in interface Qualifiable
        Parameters:
        qualifiers - desired value for the property qualifiers.