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
FieldsModifier and TypeFieldDescriptionprotected CapabilityServiceCapability serviceprotected Stringprotected GroupCapability groupprotected intCapability indexprotected booleanIndicates whether this is a private capability or notprotected StringCapability nameprotected StringCapability title and descriptionFields inherited from class org.alfresco.module.org_alfresco_module_rm.capability.RMSecurityCommon
applicationContext, caveatConfigComponent, nodeService, NOSET_VALUE, permissionServiceFields 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_URIFields 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_DELETION_REASON, 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_DEFINITIONFields 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 -
Method Summary
Modifier and TypeMethodDescriptionbooleanintEvaluates the capability, taking into account a target.Get the description of the capabilitygetGroup()Gets the group of a capabilityintgetIndex()Gets the index of a capabilitygetName()Get the name of the capabilitygetTitle()Get the title of the capabilityinthashCode()hasPermission(NodeRef nodeRef) Does this capability apply to this nodeRef?protected inthasPermissionImpl(NodeRef nodeRef) Default implementation.inthasPermissionRaw(NodeRef nodeRef) Determines whether the current user has permission on this capability.voidinit()Init methodbooleanIndicates whether this is a private capability or not.voidsetCapabilityService(CapabilityService capabilityService) voidsetDescription(String description) voidsetDescriptionId(String descriptionId) voidvoidsetIndex(int index) voidvoidsetPrivate(boolean isPrivate) voidMethods inherited from class org.alfresco.module.org_alfresco_module_rm.capability.RMSecurityCommon
checkRead, checkRead, checkRmRead, getFilePlanService, getTestNode, getTransactionCache, setApplicationContext, setCaveatConfigComponent, setNodeService, setPermissionService, setTransactionCacheMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.alfresco.module.org_alfresco_module_rm.capability.Capability
evaluate
-
Field Details
-
capabilityService
Capability service -
name
Capability name -
title
Capability title and description -
description
-
group
Capability group -
index
protected int indexCapability index -
isPrivate
protected boolean isPrivateIndicates whether this is a private capability or not
-
-
Constructor Details
-
AbstractCapability
public AbstractCapability()
-
-
Method Details
-
setCapabilityService
- Parameters:
capabilityService- capability service
-
init
public void init()Init method -
setName
- Parameters:
name- capability name
-
getName
Description copied from interface:CapabilityGet the name of the capability- Specified by:
getNamein interfaceCapability- Returns:
- String capability name
- See Also:
-
setTitle
- Parameters:
title- capability title
-
getTitle
Description copied from interface:CapabilityGet the title of the capability- Specified by:
getTitlein interfaceCapability- Returns:
- String capability title
- See Also:
-
setDescription
- Parameters:
description- capability description
-
setDescriptionId
- Parameters:
descriptionId- message id
-
getDescription
Description copied from interface:CapabilityGet the description of the capability- Specified by:
getDescriptionin interfaceCapability- Returns:
- String capability description
- See Also:
-
isPrivate
public boolean isPrivate()Description copied from interface:CapabilityIndicates 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:
isPrivatein interfaceCapability- Returns:
- boolean true if private, false otherwise
- See Also:
-
setPrivate
public void setPrivate(boolean isPrivate) - Parameters:
isPrivate- indicates whether the capability is private or not
-
hasPermission
Description copied from interface:CapabilityDoes this capability apply to this nodeRef?- Specified by:
hasPermissionin interfaceCapability- Returns:
- See Also:
-
hasPermissionRaw
Determines whether the current user has permission on this capability.Returns the raw permission value.
- Specified by:
hasPermissionRawin interfaceCapability- Parameters:
nodeRef- node reference- Returns:
- raw permission value
-
hasPermissionImpl
Default implementation. Override if different behaviour required.- Parameters:
nodeRef-- Returns:
-
evaluate
Description copied from interface:CapabilityEvaluates the capability, taking into account a target.- Specified by:
evaluatein interfaceCapability- Parameters:
source- source node referencetarget- target node reference- Returns:
- int permission value
- See Also:
-
getGroup
Description copied from interface:CapabilityGets the group of a capability- Specified by:
getGroupin interfaceCapability- Returns:
- Group capability group
- See Also:
-
setGroup
-
getIndex
public int getIndex()Description copied from interface:CapabilityGets the index of a capability- Specified by:
getIndexin interfaceCapability- Returns:
- int capability index
- See Also:
-
setIndex
public void setIndex(int index) -
hashCode
public int hashCode() -
equals
-