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(org.alfresco.service.cmr.repository.NodeRef source, org.alfresco.service.cmr.repository.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()
org.alfresco.service.cmr.security.AccessStatus
hasPermission(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Does this capability apply to this nodeRef?protected int
hasPermissionImpl(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Default implementation.int
hasPermissionRaw(org.alfresco.service.cmr.repository.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 org.alfresco.service.cmr.security.AccessStatus hasPermission(org.alfresco.service.cmr.repository.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(org.alfresco.service.cmr.repository.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(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Default implementation. Override if different behaviour required.- Parameters:
nodeRef
-- Returns:
-
evaluate
public int evaluate(org.alfresco.service.cmr.repository.NodeRef source, org.alfresco.service.cmr.repository.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)
-
-