Class MemberGroupVirtualAttributesModuleAbstract
java.lang.Object
cz.metacentrum.perun.core.implApi.modules.attributes.AttributesModuleAbstract
cz.metacentrum.perun.core.implApi.modules.attributes.MemberGroupAttributesModuleAbstract
cz.metacentrum.perun.core.implApi.modules.attributes.MemberGroupVirtualAttributesModuleAbstract
- All Implemented Interfaces:
AttributesModuleImplApi
,MemberGroupAttributesModuleImplApi
,MemberGroupVirtualAttributesModuleImplApi
,VirtualAttributesModuleImplApi
- Direct Known Subclasses:
urn_perun_member_group_attribute_def_virt_groupStatus
,urn_perun_member_group_attribute_def_virt_groupStatusIndirect
,urn_perun_member_group_attribute_def_virt_isGroupAdmin
,urn_perun_member_group_attribute_def_virt_o365SendAs
,urn_perun_member_group_attribute_def_virt_o365SendOnBehalf
public abstract class MemberGroupVirtualAttributesModuleAbstract
extends MemberGroupAttributesModuleAbstract
implements MemberGroupVirtualAttributesModuleImplApi
Abstract class for Member Group Virtual Attributes modules. Implements methods for modules to perform default
function. In the function that the method in the module does nothing, it is not necessary to implement it, simply
extend this abstract class.
author: Oliver Mrazik version: 2015-04-16
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetAttributeValue
(PerunSessionImpl sess, Member member, Group group, AttributeDefinition attribute) This method will return computed value.Get list of attributes which this attribute value is computed from.boolean
removeAttributeValue
(PerunSessionImpl sess, Member member, Group group, AttributeDefinition attribute) Method remove attributes' value which are dependent on this virtual attribute.resolveVirtualAttributeValueChange
(PerunSessionImpl perunSession, AuditEvent message) Gets message from auditer and resolves if it is needed to add another messages to DB about virtualAttribute changes.boolean
setAttributeValue
(PerunSessionImpl sess, Member member, Group group, Attribute attribute) Method sets attributes' values which are dependent on this virtual attribute.Methods inherited from class cz.metacentrum.perun.core.implApi.modules.attributes.MemberGroupAttributesModuleAbstract
changedAttributeHook, checkAttributeSemantics, checkAttributeSyntax, fillAttribute
Methods inherited from class cz.metacentrum.perun.core.implApi.modules.attributes.AttributesModuleAbstract
getAttributeDefinition, getAuthorizedRoles, getDependencies
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface cz.metacentrum.perun.core.implApi.modules.attributes.AttributesModuleImplApi
getAttributeDefinition, getAuthorizedRoles, getDependencies
Methods inherited from interface cz.metacentrum.perun.core.implApi.modules.attributes.MemberGroupAttributesModuleImplApi
changedAttributeHook, checkAttributeSemantics, checkAttributeSyntax, fillAttribute
-
Constructor Details
-
MemberGroupVirtualAttributesModuleAbstract
public MemberGroupVirtualAttributesModuleAbstract()
-
-
Method Details
-
getAttributeValue
public Attribute getAttributeValue(PerunSessionImpl sess, Member member, Group group, AttributeDefinition attribute) Description copied from interface:MemberGroupVirtualAttributesModuleImplApi
This method will return computed value.- Specified by:
getAttributeValue
in interfaceMemberGroupVirtualAttributesModuleImplApi
- Parameters:
sess
- perun sessionmember
- member which is needed for computing the valuegroup
- group which is needed for computing the valueattribute
- attribute to operate on- Returns:
- attribute value
-
getStrongDependencies
Description copied from interface:VirtualAttributesModuleImplApi
Get list of attributes which this attribute value is computed from. In other words attributes whose values change can also directly affect value of this attribute.An attribute should strongly depend on all attributes which values are used in method "getAttributeValue" defined in attribute module for virtual attributes.
- Specified by:
getStrongDependencies
in interfaceVirtualAttributesModuleImplApi
- Returns:
- list of attributes this attribute strongly depends on
- See Also:
-
removeAttributeValue
public boolean removeAttributeValue(PerunSessionImpl sess, Member member, Group group, AttributeDefinition attribute) Description copied from interface:MemberGroupVirtualAttributesModuleImplApi
Method remove attributes' value which are dependent on this virtual attribute.- Specified by:
removeAttributeValue
in interfaceMemberGroupVirtualAttributesModuleImplApi
- Parameters:
sess
- perun sessionmember
- member which is needed for computing the valuegroup
- group which is needed for computing the valueattribute
- attribute to operate on- Returns:
true
if attribute was changed (deleted) orfalse
if attribute was not present in a first place
-
resolveVirtualAttributeValueChange
public List<AuditEvent> resolveVirtualAttributeValueChange(PerunSessionImpl perunSession, AuditEvent message) Description copied from interface:AttributesModuleImplApi
Gets message from auditer and resolves if it is needed to add another messages to DB about virtualAttribute changes.- Specified by:
resolveVirtualAttributeValueChange
in interfaceAttributesModuleImplApi
- Overrides:
resolveVirtualAttributeValueChange
in classAttributesModuleAbstract
- Returns:
- list of additional messages for auditer to log it
-
setAttributeValue
public boolean setAttributeValue(PerunSessionImpl sess, Member member, Group group, Attribute attribute) Description copied from interface:MemberGroupVirtualAttributesModuleImplApi
Method sets attributes' values which are dependent on this virtual attribute.- Specified by:
setAttributeValue
in interfaceMemberGroupVirtualAttributesModuleImplApi
- Parameters:
sess
- perun sessionmember
- member which is needed for computing the valuegroup
- group which is needed for computing the valueattribute
- attribute to operate on- Returns:
- true if attribute was really changed
-