Class AbstractCapability
- java.lang.Object
-
- org.alfresco.module.org_alfresco_module_rm.capability.RMSecurityCommon
-
- org.alfresco.module.org_alfresco_module_rm.capability.AbstractCapability
-
- All Implemented Interfaces:
Capability
,RMPermissionModel
,RecordsManagementCustomModel
,RecordsManagementModel
,org.springframework.beans.factory.Aware
,org.springframework.context.ApplicationContextAware
- Direct Known Subclasses:
DeclarativeCapability
public abstract class AbstractCapability extends RMSecurityCommon implements Capability, RecordsManagementModel, RMPermissionModel
Abstract capability implementation.- Author:
- Andy Hind, Roy Wetherall
-
-
Field Summary
Fields Modifier and Type Field Description protected CapabilityService
capabilityService
Capability serviceprotected String
description
protected Group
group
Capability groupprotected int
index
Capability indexprotected boolean
isPrivate
Indicates whether this is a private capability or notprotected String
name
Capability nameprotected String
title
Capability title and description-
Fields inherited from class org.alfresco.module.org_alfresco_module_rm.capability.RMSecurityCommon
applicationContext, caveatConfigComponent, nodeService, NOSET_VALUE, permissionService
-
Fields inherited from interface org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementCustomModel
ASPECT_CUSTOM_ASSOCIATIONS, ASPECT_SUPPLEMENTAL_MARKING_LIST, CONSTRAINT_CUSTOM_SMLIST, CUSTOM_REF_CROSSREFERENCE, CUSTOM_REF_OBSOLETES, CUSTOM_REF_RENDITION, CUSTOM_REF_SUPERSEDES, CUSTOM_REF_SUPPORTS, CUSTOM_REF_VERSIONS, PROP_SUPPLEMENTAL_MARKING_LIST, RM_CUSTOM_MODEL, RM_CUSTOM_PREFIX, RM_CUSTOM_URI
-
Fields inherited from interface org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel
ASPECT_ARCHIVED, ASPECT_ASCENDED, ASPECT_CAVEAT_CONFIG_ROOT, ASPECT_COMMON_RECORD_DETAILS, ASPECT_COUNTABLE, ASPECT_CUSTOM_RM_DATA, ASPECT_CUT_OFF, ASPECT_DECLARED_RECORD, ASPECT_DISPOSITION_LIFECYCLE, ASPECT_DISPOSITION_PROCESSED, ASPECT_EMAIL_CONFIG_ROOT, ASPECT_EXTENDED_SECURITY, ASPECT_FILABLE, ASPECT_FILE_PLAN_COMPONENT, ASPECT_FROZEN, ASPECT_GHOSTED, ASPECT_HELD_CHILDREN, ASPECT_LOADED_DATA_SET_ID, ASPECT_RECORD, ASPECT_RECORD_COMPONENT_ID, ASPECT_RECORD_META_DATA, ASPECT_RECORD_ORIGINATING_DETAILS, ASPECT_RECORD_REJECTION_DETAILS, ASPECT_RECORDS_MANAGEMENT_ROOT, ASPECT_RM_SEARCH, ASPECT_SAVED_SEARCH, ASPECT_SCHEDULED, ASPECT_TRANSFERRED, ASPECT_TRANSFERRING, ASPECT_UNCUT_OFF, ASPECT_UNPUBLISHED_UPDATE, ASPECT_VERSIONED_RECORD, ASPECT_VITAL_RECORD, ASPECT_VITAL_RECORD_DEFINITION, ASSOC_CAVEAT_CONFIG, ASSOC_DISPOSITION_ACTION_DEFINITIONS, ASSOC_DISPOSITION_ACTION_HISTORY, ASSOC_DISPOSITION_SCHEDULE, ASSOC_EMAIL_CONFIG, ASSOC_EVENT_EXECUTIONS, ASSOC_FROZEN_CONTENT, ASSOC_FROZEN_RECORDS, ASSOC_HOLDS, ASSOC_NEXT_DISPOSITION_ACTION, ASSOC_TRANSFERRED, ASSOC_TRANSFERS, GL_URI, PROP_COMBINE_DISPOSITION_STEP_CONDITIONS, PROP_COUNT, PROP_CUT_OFF_DATE, PROP_DATE_FILED, PROP_DB_UNIQUENESS_ID, PROP_DECLARED_AT, PROP_DECLARED_BY, PROP_DISPOSITION_ACTION, PROP_DISPOSITION_ACTION_COMPLETED_AT, PROP_DISPOSITION_ACTION_COMPLETED_BY, PROP_DISPOSITION_ACTION_GHOST_ON_DESTROY, PROP_DISPOSITION_ACTION_ID, PROP_DISPOSITION_ACTION_NAME, PROP_DISPOSITION_ACTION_STARTED_AT, PROP_DISPOSITION_ACTION_STARTED_BY, PROP_DISPOSITION_AS_OF, PROP_DISPOSITION_AUTHORITY, PROP_DISPOSITION_DESCRIPTION, PROP_DISPOSITION_EVENT, PROP_DISPOSITION_EVENT_COMBINATION, PROP_DISPOSITION_EVENTS_ELIGIBLE, PROP_DISPOSITION_INSTRUCTIONS, PROP_DISPOSITION_LOCATION, PROP_DISPOSITION_PERIOD, PROP_DISPOSITION_PERIOD_PROPERTY, PROP_EVENT_EXECUTION_AUTOMATIC, PROP_EVENT_EXECUTION_COMPLETE, PROP_EVENT_EXECUTION_COMPLETED_AT, PROP_EVENT_EXECUTION_COMPLETED_BY, PROP_EVENT_EXECUTION_NAME, PROP_FROZEN_AT, PROP_FROZEN_BY, PROP_HELD_CHILDREN_COUNT, PROP_HOLD_REASON, PROP_IDENTIFIER, PROP_IS_CLOSED, PROP_LOADED_DATA_SET_IDS, PROP_LOCATION, PROP_MANUALLY_SET_AS_OF, PROP_ORIGIONAL_NAME, PROP_PUBLISH_IN_PROGRESS, PROP_READERS, PROP_RECORD_LEVEL_DISPOSITION, PROP_RECORD_ORIGINATING_CREATION_DATE, PROP_RECORD_ORIGINATING_LOCATION, PROP_RECORD_ORIGINATING_USER_ID, PROP_RECORD_REJECTION_DATE, PROP_RECORD_REJECTION_REASON, PROP_RECORD_REJECTION_USER_ID, PROP_REVIEW_AS_OF, PROP_REVIEW_PERIOD, PROP_ROOT_NODEREF, PROP_RS_DECLASSIFICATION_REVIEW_COMPLETED_AT, PROP_RS_DECLASSIFICATION_REVIEW_COMPLETED_BY, PROP_RS_DISPOITION_AUTHORITY, PROP_RS_DISPOITION_INSTRUCTIONS, PROP_RS_DISPOSITION_ACTION_AS_OF, PROP_RS_DISPOSITION_ACTION_NAME, PROP_RS_DISPOSITION_EVENTS, PROP_RS_DISPOSITION_EVENTS_ELIGIBLE, PROP_RS_DISPOSITION_PERIOD, PROP_RS_DISPOSITION_PERIOD_EXPRESSION, PROP_RS_HAS_DISPOITION_SCHEDULE, PROP_RS_HOLD_REASON, PROP_RS_VITAL_RECORD_REVIEW_PERIOD, PROP_RS_VITAL_RECORD_REVIEW_PERIOD_EXPRESSION, PROP_TRANSFER_ACCESSION_INDICATOR, PROP_TRANSFER_LOCATION, PROP_TRANSFER_PDF_INDICATOR, PROP_UNPUBLISHED_UPDATE, PROP_UPDATE_TO, PROP_UPDATED_PROPERTIES, PROP_VITAL_RECORD_INDICATOR, PROP_WRITERS, RM_MODEL, RM_PREFIX, RM_URI, TYPE_CAVEAT_CONFIG, TYPE_DISPOSITION_ACTION, TYPE_DISPOSITION_ACTION_DEFINITION, TYPE_DISPOSITION_SCHEDULE, TYPE_EMAIL_CONFIG, TYPE_EVENT_EXECUTION, TYPE_FILE_PLAN, TYPE_HOLD, TYPE_HOLD_CONTAINER, TYPE_NON_ELECTRONIC_DOCUMENT, TYPE_RECORD_CATEGORY, TYPE_RECORD_FOLDER, TYPE_RECORDS_MANAGEMENT_CONTAINER, TYPE_RM_SITE, TYPE_TRANSFER, TYPE_TRANSFER_CONTAINER, TYPE_UNFILED_RECORD_CONTAINER, TYPE_UNFILED_RECORD_FOLDER, UPDATE_TO_DISPOSITION_ACTION_DEFINITION
-
Fields inherited from interface org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel
ACCESS_AUDIT, ADD_MODIFY_EVENT_DATES, ADD_TO_HOLD, APPROVE_RECORDS_SCHEDULED_FOR_CUTOFF, ATTACH_RULES_TO_METADATA_PROPERTIES, AUTHORIZE_ALL_TRANSFERS, AUTHORIZE_NOMINATED_TRANSFERS, CHANGE_OR_DELETE_REFERENCES, CLOSE_FOLDERS, CREATE_AND_ASSOCIATE_SELECTION_LISTS, CREATE_HOLD, CREATE_MODIFY_DESTROY_CLASSIFICATION_GUIDES, CREATE_MODIFY_DESTROY_EVENTS, CREATE_MODIFY_DESTROY_FILEPLAN_METADATA, CREATE_MODIFY_DESTROY_FILEPLAN_TYPES, CREATE_MODIFY_DESTROY_FOLDERS, CREATE_MODIFY_DESTROY_RECORD_TYPES, CREATE_MODIFY_DESTROY_REFERENCE_TYPES, CREATE_MODIFY_DESTROY_ROLES, CREATE_MODIFY_DESTROY_TIMEFRAMES, CREATE_MODIFY_DESTROY_USERS_AND_GROUPS, CREATE_MODIFY_RECORDS_IN_CUTOFF_FOLDERS, CREATE_RECORDS, CYCLE_VITAL_RECORDS, DECLARE_AUDIT_AS_RECORD, DECLARE_RECORDS, DECLARE_RECORDS_IN_CLOSED_FOLDERS, DELETE_AUDIT, DELETE_LINKS, DELETE_RECORDS, DESTROY_RECORDS, DESTROY_RECORDS_SCHEDULED_FOR_DESTRUCTION, DISPLAY_RIGHTS_REPORT, EDIT_DECLARED_RECORD_METADATA, EDIT_NON_RECORD_METADATA, EDIT_RECORD_METADATA, EDIT_SELECTION_LISTS, ENABLE_DISABLE_AUDIT_BY_TYPES, EXPORT_AUDIT, EXTEND_RETENTION_PERIOD_OR_FREEZE, FILE_RECORDS, FILING, MAKE_OPTIONAL_PARAMETERS_MANDATORY, MANAGE_ACCESS_CONTROLS, MANAGE_ACCESS_RIGHTS, MANUALLY_CHANGE_DISPOSITION_DATES, MAP_CLASSIFICATION_GUIDE_METADATA, MAP_EMAIL_METADATA, MOVE_RECORDS, PASSWORD_CONTROL, PLANNING_REVIEW_CYCLES, RE_OPEN_FOLDERS, READ_RECORDS, REMOVE_FROM_HOLD, ROLE_ADMINISTRATOR, ROLE_NAME_ADMINISTRATOR, ROLE_NAME_POWER_USER, ROLE_NAME_RECORDS_MANAGER, ROLE_NAME_SECURITY_OFFICER, ROLE_NAME_USER, SELECT_AUDIT_METADATA, TRIGGER_AN_EVENT, UNDECLARE_RECORDS, UNFREEZE, UPDATE_CLASSIFICATION_DATES, UPDATE_EXEMPTION_CATEGORIES, UPDATE_TRIGGER_DATES, UPDATE_VITAL_RECORD_CYCLE_INFORMATION, UPGRADE_DOWNGRADE_AND_DECLASSIFY_RECORDS, VIEW_RECORDS, VIEW_UPDATE_REASONS_FOR_FREEZE
-
-
Constructor Summary
Constructors Constructor Description AbstractCapability()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object obj)
int
evaluate(NodeRef source, NodeRef target)
Evaluates the capability, taking into account a target.String
getDescription()
Get the description of the capabilityGroup
getGroup()
Gets the group of a capabilityint
getIndex()
Gets the index of a capabilityString
getName()
Get the name of the capabilityString
getTitle()
Get the title of the capabilityint
hashCode()
AccessStatus
hasPermission(NodeRef nodeRef)
Does this capability apply to this nodeRef?protected int
hasPermissionImpl(NodeRef nodeRef)
Default implementation.int
hasPermissionRaw(NodeRef nodeRef)
Determines whether the current user has permission on this capability.void
init()
Init methodboolean
isPrivate()
Indicates whether this is a private capability or not.void
setCapabilityService(CapabilityService capabilityService)
void
setDescription(String description)
void
setDescriptionId(String descriptionId)
void
setGroup(Group group)
void
setIndex(int index)
void
setName(String name)
void
setPrivate(boolean isPrivate)
void
setTitle(String title)
-
Methods inherited from class org.alfresco.module.org_alfresco_module_rm.capability.RMSecurityCommon
checkRead, checkRead, checkRmRead, getFilePlanService, getTestNode, getTransactionCache, setApplicationContext, setCaveatConfigComponent, setNodeService, setPermissionService, setTransactionCache
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.alfresco.module.org_alfresco_module_rm.capability.Capability
evaluate
-
-
-
-
Field Detail
-
capabilityService
protected CapabilityService capabilityService
Capability service
-
name
protected String name
Capability name
-
title
protected String title
Capability title and description
-
description
protected String description
-
group
protected Group group
Capability group
-
index
protected int index
Capability index
-
isPrivate
protected boolean isPrivate
Indicates whether this is a private capability or not
-
-
Method Detail
-
setCapabilityService
public void setCapabilityService(CapabilityService capabilityService)
- Parameters:
capabilityService
- capability service
-
init
public void init()
Init method
-
setName
public void setName(String name)
- Parameters:
name
- capability name
-
getName
public String getName()
Description copied from interface:Capability
Get the name of the capability- Specified by:
getName
in interfaceCapability
- Returns:
- String capability name
- See Also:
Capability.getName()
-
setTitle
public void setTitle(String title)
- Parameters:
title
- capability title
-
getTitle
public String getTitle()
Description copied from interface:Capability
Get the title of the capability- Specified by:
getTitle
in interfaceCapability
- Returns:
- String capability title
- See Also:
Capability.getTitle()
-
setDescription
public void setDescription(String description)
- Parameters:
description
- capability description
-
setDescriptionId
public void setDescriptionId(String descriptionId)
- Parameters:
descriptionId
- message id
-
getDescription
public String getDescription()
Description copied from interface:Capability
Get the description of the capability- Specified by:
getDescription
in interfaceCapability
- Returns:
- String capability description
- See Also:
Capability.getDescription()
-
isPrivate
public boolean isPrivate()
Description copied from interface:Capability
Indicates whether this is a private capability or not. Private capabilities are used internally, otherwise they are made available to the user to assign to roles.- Specified by:
isPrivate
in interfaceCapability
- Returns:
- boolean true if private, false otherwise
- See Also:
Capability.isPrivate()
-
setPrivate
public void setPrivate(boolean isPrivate)
- Parameters:
isPrivate
- indicates whether the capability is private or not
-
hasPermission
public AccessStatus hasPermission(NodeRef nodeRef)
Description copied from interface:Capability
Does this capability apply to this nodeRef?- Specified by:
hasPermission
in interfaceCapability
- Returns:
- See Also:
Capability.hasPermission(org.alfresco.service.cmr.repository.NodeRef)
-
hasPermissionRaw
public int hasPermissionRaw(NodeRef nodeRef)
Determines whether the current user has permission on this capability.Returns the raw permission value.
- Specified by:
hasPermissionRaw
in interfaceCapability
- Parameters:
nodeRef
- node reference- Returns:
- raw permission value
-
hasPermissionImpl
protected int hasPermissionImpl(NodeRef nodeRef)
Default implementation. Override if different behaviour required.- Parameters:
nodeRef
-- Returns:
-
evaluate
public int evaluate(NodeRef source, NodeRef target)
Description copied from interface:Capability
Evaluates the capability, taking into account a target.- Specified by:
evaluate
in interfaceCapability
- Parameters:
source
- source node referencetarget
- target node reference- Returns:
- int permission value
- See Also:
Capability.evaluate(org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.NodeRef)
-
getGroup
public Group getGroup()
Description copied from interface:Capability
Gets the group of a capability- Specified by:
getGroup
in interfaceCapability
- Returns:
- Group capability group
- See Also:
Capability.getGroup()
-
setGroup
public void setGroup(Group group)
-
getIndex
public int getIndex()
Description copied from interface:Capability
Gets the index of a capability- Specified by:
getIndex
in interfaceCapability
- Returns:
- int capability index
- See Also:
Capability.getIndex()
-
setIndex
public void setIndex(int index)
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classObject
- See Also:
Object.hashCode()
-
equals
public boolean equals(Object obj)
- Overrides:
equals
in classObject
- See Also:
Object.equals(java.lang.Object)
-
-