Package io.adminshell.aas.v3.model.impl
Class DefaultAccessPermissionRule
- java.lang.Object
-
- io.adminshell.aas.v3.model.impl.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).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDefaultAccessPermissionRule.BuilderThis builder class can be used to construct a DefaultAccessPermissionRule bean.
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.Stringcategoryprotected java.util.List<LangString>descriptionsprotected java.util.List<LangString>displayNamesprotected java.util.List<Extension>extensionsprotected java.lang.StringidShortprotected java.util.List<PermissionsPerObject>permissionsPerObjectsprotected java.util.List<Constraint>qualifiersprotected SubjectAttributestargetSubjectAttributes
-
Constructor Summary
Constructors Constructor Description DefaultAccessPermissionRule()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)java.lang.StringgetCategory()The category is a value that gives further meta information w.r.t. to the class of the element.java.util.List<LangString>getDescriptions()Description or comments on the element.java.util.List<LangString>getDisplayNames()Display name.java.util.List<Extension>getExtensions()An extension of the element.java.lang.StringgetIdShort()Identifying string of the element within its name space.java.util.List<PermissionsPerObject>getPermissionsPerObjects()Set of object-permission pairs that define the permissions per object within the access permission rule.java.util.List<Constraint>getQualifiers()Additional qualification of a qualifiable element.SubjectAttributesgetTargetSubjectAttributes()Target subject attributes that need to be fulfilled by the accessing subject to get the permissions defined by this rule.inthashCode()voidsetCategory(java.lang.String category)The category is a value that gives further meta information w.r.t. to the class of the element.voidsetDescriptions(java.util.List<LangString> descriptions)Description or comments on the element.voidsetDisplayNames(java.util.List<LangString> displayNames)Display name.voidsetExtensions(java.util.List<Extension> extensions)An extension of the element.voidsetIdShort(java.lang.String idShort)Identifying string of the element within its name space.voidsetPermissionsPerObjects(java.util.List<PermissionsPerObject> permissionsPerObjects)Set of object-permission pairs that define the permissions per object within the access permission rule.voidsetQualifiers(java.util.List<Constraint> qualifiers)Additional qualification of a qualifiable element.voidsetTargetSubjectAttributes(SubjectAttributes targetSubjectAttributes)Target subject attributes that need to be fulfilled by the accessing subject to get the permissions defined by this rule.
-
-
-
Field Detail
-
permissionsPerObjects
protected java.util.List<PermissionsPerObject> permissionsPerObjects
-
targetSubjectAttributes
protected SubjectAttributes targetSubjectAttributes
-
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
-
-
Method Detail
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
getPermissionsPerObjects
public java.util.List<PermissionsPerObject> getPermissionsPerObjects()
Description copied from interface:AccessPermissionRuleSet 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:
getPermissionsPerObjectsin interfaceAccessPermissionRule- Returns:
- Returns the List of PermissionsPerObjects for the property permissionsPerObjects.
-
setPermissionsPerObjects
public void setPermissionsPerObjects(java.util.List<PermissionsPerObject> permissionsPerObjects)
Description copied from interface:AccessPermissionRuleSet 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:
setPermissionsPerObjectsin interfaceAccessPermissionRule- Parameters:
permissionsPerObjects- desired value for the property permissionsPerObjects.
-
getTargetSubjectAttributes
public SubjectAttributes getTargetSubjectAttributes()
Description copied from interface:AccessPermissionRuleTarget 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:
getTargetSubjectAttributesin interfaceAccessPermissionRule- Returns:
- Returns the SubjectAttributes for the property targetSubjectAttributes.
-
setTargetSubjectAttributes
public void setTargetSubjectAttributes(SubjectAttributes targetSubjectAttributes)
Description copied from interface:AccessPermissionRuleTarget 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:
setTargetSubjectAttributesin interfaceAccessPermissionRule- Parameters:
targetSubjectAttributes- desired value for the property targetSubjectAttributes.
-
getCategory
public java.lang.String getCategory()
Description copied from interface:ReferableThe 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:
getCategoryin interfaceReferable- Returns:
- Returns the String for the property category.
-
setCategory
public void setCategory(java.lang.String category)
Description copied from interface:ReferableThe 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:
setCategoryin interfaceReferable- Parameters:
category- desired value for the property category.
-
getDescriptions
public java.util.List<LangString> getDescriptions()
Description copied from interface:ReferableDescription 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:
getDescriptionsin interfaceReferable- Returns:
- Returns the List of LangStrings for the property descriptions.
-
setDescriptions
public void setDescriptions(java.util.List<LangString> descriptions)
Description copied from interface:ReferableDescription 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:
setDescriptionsin interfaceReferable- Parameters:
descriptions- desired value for the property descriptions.
-
getDisplayNames
public java.util.List<LangString> getDisplayNames()
Description copied from interface:ReferableDisplay name. Can be provided in several languages. More information under https://admin-shell.io/aas/3/0/RC01/Referable/displayName- Specified by:
getDisplayNamesin interfaceReferable- Returns:
- Returns the List of LangStrings for the property displayNames.
-
setDisplayNames
public void setDisplayNames(java.util.List<LangString> displayNames)
Description copied from interface:ReferableDisplay name. Can be provided in several languages. More information under https://admin-shell.io/aas/3/0/RC01/Referable/displayName- Specified by:
setDisplayNamesin interfaceReferable- Parameters:
displayNames- desired value for the property displayNames.
-
getIdShort
public java.lang.String getIdShort()
Description copied from interface:ReferableIdentifying 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:
getIdShortin interfaceReferable- Returns:
- Returns the String for the property idShort.
-
setIdShort
public void setIdShort(java.lang.String idShort)
Description copied from interface:ReferableIdentifying 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:
setIdShortin interfaceReferable- Parameters:
idShort- desired value for the property idShort.
-
getExtensions
public java.util.List<Extension> getExtensions()
Description copied from interface:HasExtensionsAn extension of the element. More information under https://admin-shell.io/aas/3/0/RC01/HasExtensions/extension- Specified by:
getExtensionsin interfaceHasExtensions- Returns:
- Returns the List of Extensions for the property extensions.
-
setExtensions
public void setExtensions(java.util.List<Extension> extensions)
Description copied from interface:HasExtensionsAn extension of the element. More information under https://admin-shell.io/aas/3/0/RC01/HasExtensions/extension- Specified by:
setExtensionsin interfaceHasExtensions- Parameters:
extensions- desired value for the property extensions.
-
getQualifiers
public java.util.List<Constraint> getQualifiers()
Description copied from interface:QualifiableAdditional qualification of a qualifiable element. More information under https://admin-shell.io/aas/3/0/RC01/Qualifiable/qualifier- Specified by:
getQualifiersin interfaceQualifiable- Returns:
- Returns the List of Constraints for the property qualifiers.
-
setQualifiers
public void setQualifiers(java.util.List<Constraint> qualifiers)
Description copied from interface:QualifiableAdditional qualification of a qualifiable element. More information under https://admin-shell.io/aas/3/0/RC01/Qualifiable/qualifier- Specified by:
setQualifiersin interfaceQualifiable- Parameters:
qualifiers- desired value for the property qualifiers.
-
-