OSID Logo
OSID Specifications
resource package
Version 3.0.0
Release Candidate Preview
Interfaceosid.resource.ResourceManager
Implementsosid.OsidManager
osid.resource.ResourceProfile
Description

The resource manager provides access to resource lookup and creation sessions and provides interoperability tests for various aspects of this service. The sessions included in this manager are:

  • ResourceLookupSession: a session to retrieve resources
  • ResourceQuerySession: a session to query resources
  • ResourceSearchSession: a session to search for resources
  • ResourceAdminSession: a session to create and delete resources
  • ResourceNotificationSession: a session to receive notifications pertaining to resource changes
  • ResourceBinSession: a session to look up resource to bin mappings
  • ResourceBinAssignmentSession: a session to manage resource to bin mappings
  • ResourceSmartBinSession: a session to manage smart resource bins
  • MembershipSession: a session to query memberships
  • GroupSession: a session to retrieve group memberships
  • GroupAssignmentSession: a session to manage groups
  • GroupNotificationSession: a session to retrieve notifications on changes to group membership
  • GroupHierarchySession: a session to view a group hierarchy
  • RsourceAgentSession: a session to retrieve Resource and Agent mappings
  • ResourceAgentAssignmentSession: a session to manage Resource and Agent mappings
  • ResourceRelationshipLookupSession: a session to retrieve resource relationships
  • ResourceRelationshipQuerySession: a session to query for resource relationships
  • ResourceRelationshipSearchSession: a session to search for resource relationships
  • ResourceRelationshipAdminSession: a session to create and delete resource relationships
  • ResourceRelationshipNotificationSession: a session to receive notifications pertaining to resource relationshipchanges
  • ResourceRelationshipBinSession: a session to look up resource relationship to bin mappings
  • ResourceRelationshipBinAssignmentSession: a session to manage resource relationship to bin mappings
  • ResourceRelationshipSmartBinSession: a session to manage smart resource relationship bins
  • BinLookupSession: a session to retrieve bins
  • BinQuerySession: a session to query bins
  • BinSearchSession: a session to search for bins
  • BinAdminSession: a session to create, update and delete bins
  • BinNotificationSession: a session to receive notifications pertaining to changes in bins
  • BinHierarchySession: a session to traverse bin hierarchies
  • BinHierarchyDesignSession: a session to manage bin hierarchies
MethodgetResourceLookupSession
Description

Gets the OsidSession associated with the resource lookup service.

Returnosid.resource.ResourceLookupSession a ResourceLookupSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceLookup() is false
ComplianceoptionalThis method must be implemented if supportsResourceLookup() is true.
MethodgetResourceLookupSessionForBin
Description

Gets the OsidSession associated with the resource lookup service for the given bin.

Parametersosid.id.IdbinIdthe Id of the bin
Returnosid.resource.ResourceLookupSession a ResourceLookupSession
ErrorsNOT_FOUND binId not found
NULL_ARGUMENT binId is null
OPERATION_FAILED unable to complete request
UNIMPLEMENTED supportsResourceLookup() or supportsVisibleFederation() is false
ComplianceoptionalThis method must be implemented if supportsResourceLookup() and supportsVisibleFederation() are true.
MethodgetResourceQuerySession
Description

Gets a resource query session.

Returnosid.resource.ResourceQuerySession a ResourceQuerySession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceQuery() is false
ComplianceoptionalThis method must be implemented if supportsResourceQuery() is true.
MethodgetResourceQuerySessionForBin
Description

Gets a resource query session for the given bin.

Parametersosid.id.IdbinIdthe Id of the bin
Returnosid.resource.ResourceQuerySession a ResourceQuerySession
ErrorsNOT_FOUND binId not found
NULL_ARGUMENT binId is null
OPERATION_FAILED unable to complete request
UNIMPLEMENTED supportsResourceQuery() or supportsVisibleFederation() is false
ComplianceoptionalThis method must be implemented if supportsResourceQuery() and supportsVisibleFederation() are true.
MethodgetResourceSearchSession
Description

Gets a resource search session.

Returnosid.resource.ResourceSearchSession a ResourceSearchSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceSearch() is false
ComplianceoptionalThis method must be implemented if supportsResourceSearch() is true.
MethodgetResourceSearchSessionForBin
Description

Gets a resource search session for the given bin.

Parametersosid.id.IdbinIdthe Id of the bin
Returnosid.resource.ResourceSearchSession a ResourceSearchSession
ErrorsNOT_FOUND binId not found
NULL_ARGUMENT binId is null
OPERATION_FAILED unable to complete request
UNIMPLEMENTED supportsResourceSearch() or supportsVisibleFederation() is false
ComplianceoptionalThis method must be implemented if supportsResourceSearch() and supportsVisibleFederation() are true.
MethodgetResourceAdminSession
Description

Gets a resource administration session for creating, updating and deleting resources.

Returnosid.resource.ResourceAdminSession a ResourceAdminSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceAdmin() is false
ComplianceoptionalThis method must be implemented if supportsResourceAdmin() is true.
MethodgetResourceAdminSessionForBin
Description

Gets a resource administration session for the given bin.

Parametersosid.id.IdbinIdthe Id of the bin
Returnosid.resource.ResourceAdminSession a ResourceAdminSession
ErrorsNOT_FOUND binId not found
NULL_ARGUMENT binId is null
OPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceAdmin() or supportsVisibleFederation() is false
ComplianceoptionalThis method must be implemented if supportsResourceAdmin() and supportsVisibleFederation() are true.
MethodgetResourceNotificationSession
Description

Gets the notification session for notifications pertaining to resource changes.

Parametersosid.resource.ResourceReceiverresourceReceiverthe notification callback
Returnosid.resource.ResourceNotificationSession a ResourceNotificationSession
ErrorsNULL_ARGUMENT resourceReceiver is null
OPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceNotification() is false
ComplianceoptionalThis method must be implemented if supportsResourceNotification() is true.
MethodgetResourceNotificationSessionForBin
Description

Gets the resource notification session for the given bin.

Parametersosid.resource.ResourceReceiverresourceReceiverthe notification callback
osid.id.IdbinIdthe Id of the bin
Returnosid.resource.ResourceNotificationSession a ResourceNotificationSession
ErrorsNOT_FOUND binId not found
NULL_ARGUMENT resourceReceiver or binId is null
OPERATION_FAILED unable to complete request
UNIMPLEMENTED supportsResourceNotification() or supportsVisibleFederation() is false
ComplianceoptionalThis method must be implemented if supportsResourceNotfication() and supportsVisibleFederation() are true.
MethodgetResourceBinSession
Description

Gets the session for retrieving resource to bin mappings.

Returnosid.resource.ResourceBinSessiona ResourceBinSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceBin() is false
ComplianceoptionalThis method must be implemented if supportsResourceBin() is true.
MethodgetResourceBinAssignmentSession
Description

Gets the session for assigning resource to bin mappings.

Returnosid.resource.ResourceBinAssignmentSessiona ResourceBinAssignmentSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceBinAssignment() is false
ComplianceoptionalThis method must be implemented if supportsResourceBinAssignment() is true.
MethodgetResourceSmartBinSession
Description

Gets the session for managing dynamic resource bins.

Parametersosid.id.IdbinIdthe Id of the bin
Returnosid.resource.ResourceSmartBinSessiona ResourceSmartBinSession
ErrorsNOT_FOUND binId not found
NULL_ARGUMENT binId is null
OPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceSmartBin() is false
ComplianceoptionalThis method must be implemented if supportsResourceSmartBin() is true.
MethodgetMembershipSession
Description

Gets the session for querying memberships.

Returnosid.resource.MembershipSessiona MembershipSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsMembership() is false
ComplianceoptionalThis method must be implemented if supportMembership() is true.
MethodgetMembershipSessionForBin
Description

Gets a resource membership session for the given bin.

Parametersosid.id.IdbinIdthe Id of the bin
Returnosid.resource.MembershipSession a MembershipSession
ErrorsNOT_FOUND binId not found
NULL_ARGUMENT binId is null
OPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsMembership() or supportsVisibleFederation() is false
ComplianceoptionalThis method must be implemented if supportsMembership() and supportsVisibleFederation() are true.
MethodgetGroupSession
Description

Gets the session for retrieving gropup memberships.

Returnosid.resource.GroupSessiona GroupSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsGroup() is false
ComplianceoptionalThis method must be implemented if supportsGroup() is true.
MethodgetGroupSessionForBin
Description

Gets a group session for the given bin.

Parametersosid.id.IdbinIdthe Id of the bin
Returnosid.resource.GroupSessiona GroupSession
ErrorsNOT_FOUND binId not found
NULL_ARGUMENT binId is null
OPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsGroup() or supportsVisibleFederation() is false
ComplianceoptionalThis method must be implemented if supportsGroup() and supportsVisibleFederation() are true.
MethodgetGroupAssignmentSession
Description

Gets the session for assigning resources to groups.

Returnosid.resource.GroupAssignmentSessiona GroupAssignmentSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsGroupAssignment() is false
ComplianceoptionalThis method must be implemented if supportsGroupAssignment() is true.
MethodgetGroupAssignmentSessionForBin
Description

Gets a group assignment session for the given bin.

Parametersosid.id.IdbinIdthe Id of the bin
Returnosid.resource.GroupAssignmentSessiona GroupAssignmentSession
ErrorsNOT_FOUND binId not found
NULL_ARGUMENT binId is null
OPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsGroupAssignment() or supportsVisibleFederation() is false
ComplianceoptionalThis method must be implemented if supportsGroupAssignment() and supportsVisibleFederation() are true.
MethodgetGroupNotificationSession
Description

Gets the notification session for notifications pertaining to resource changes.

Parametersosid.resource.GroupReceivergroupRceeiverthe notification callback
Returnosid.resource.GroupNotificationSession a GroupNotificationSession
ErrorsNULL_ARGUMENT groupReceiver is null
OPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsGroupNotification() is false
ComplianceoptionalThis method must be implemented if supportsGroupNotification() is true.
MethodgetGroupNotificationSessionForBin
Description

Gets the group notification session for the given bin.

Parametersosid.resource.GroupReceivergroupRceeiverthe notification callback
osid.id.IdbinIdthe Id of the bin
Returnosid.resource.GroupNotificationSession a GroupNotificationSession
ErrorsNOT_FOUND binId not found
NULL_ARGUMENT groupReceiver or binId is null
OPERATION_FAILED unable to complete request
UNIMPLEMENTED supportsGroupNotification() or supportsVisibleFederation() is false
ComplianceoptionalThis method must be implemented if supportsGroupNotfication() and supportsVisibleFederation() are true.
MethodgetGroupHierarchySession
Description

Gets a session for retrieving gropup hierarchies.

Returnosid.resource.GroupHierarchySession a GroupHierarchySession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsGroupHierarchy() is false
ComplianceoptionalThis method must be implemented if supportsGroupHierarchy() is true.
MethodgetGroupHierarchySessionForBin
Description

Gets a group hierarchy session for the given bin.

Parametersosid.id.IdbinIdthe Id of the bin
Returnosid.resource.GroupHierarchySessiona GroupHierarchySession
ErrorsNOT_FOUND binId not found
NULL_ARGUMENT binId is null
OPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsGroupHierarchy() or supportsVisibleFederation() is false
ComplianceoptionalThis method must be implemented if supportsGroupHierarchy() and supportsVisibleFederation() are true.
MethodgetResourceAgentSession
Description

Gets the session for retrieving resource agent mappings.

Returnosid.resource.ResourceAgentSessiona ResourceAgentSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceAgent() is false
ComplianceoptionalThis method must be implemented if supportsResourceAgent() is true.
MethodgetResourceAgentSessionForBin
Description

Gets a resource agent session for the given bin.

Parametersosid.id.IdbinIdthe Id of the bin
Returnosid.resource.ResourceAgentSessiona ResourceAgentSession
ErrorsNOT_FOUND binId not found
NULL_ARGUMENT binId is null
OPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceAgent() or supportsVisibleFederation() is false
ComplianceoptionalThis method must be implemented if supportsResourceAgent() and supportsVisibleFederation() are true.
MethodgetResourceAgentAssignmentSession
Description

Gets the session for assigning agents to resources.

Returnosid.resource.ResourceAgentAssignmentSessiona ResourceAgentAssignmentSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceAgentAssignment() is false
ComplianceoptionalThis method must be implemented if supportsResourceAgentAssignment() is true.
MethodgetResourceAgentAssignmentSessionForBin
Description

Gets a resource agent session for the given bin.

Parametersosid.id.IdbinIdthe Id of the bin
Returnosid.resource.ResourceAgentAssignmentSessiona ResourceAgentAssignmentSession
ErrorsNOT_FOUND binId not found
NULL_ARGUMENT binId is null
OPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceAgentAssignment() or supportsVisibleFederation() is false
ComplianceoptionalThis method must be implemented if supportsResourceAgentAssignment() and supportsVisibleFederation() are true.
MethodgetResourceRelationshipLookupSession
Description

Gets the OsidSession associated with the resource relationship lookup service.

Returnosid.resource.ResourceRelationshipLookupSessiona ResourceRelationshipLookupSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceRelationshipLookup() is false
ComplianceoptionalThis method must be implemented if supportsResourceRelationshipLookup() is true.
MethodgetResourceRelationshipLookupSessionForBin
Description

Gets the OsidSession associated with the resource relationship lookup service for the given bin.

Parametersosid.id.IdbinIdthe Id of the Bin
Returnosid.resource.ResourceRelationshipLookupSessiona ResourceRelationshipLookupSession
ErrorsNOT_FOUNDno Bin found by the given Id
NULL_ARGUMENT binId is null
OPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceRelationshipLookup() or supportsVisibleFederation() is false
ComplianceoptionalThis method must be implemented if supportsResourceRelationshipLookup() and supportsVisibleFederation() are true
MethodgetResourceRelationshipQuerySession
Description

Gets the OsidSession associated with the resource relationship query service.

Returnosid.resource.ResourceRelationshipQuerySessiona ResourceRelationshipQuerySession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceRelationshipQuery() is false
ComplianceoptionalThis method must be implemented if supportsResourceRelationshipQuery() is true.
MethodgetResourceRelationshipQuerySessionForBin
Description

Gets the OsidSession associated with the resource relationship query service for the given bin.

Parametersosid.id.IdbinIdthe Id of the Bin
Returnosid.resource.ResourceRelationshipQuerySessiona ResourceRelationshipQuerySession
ErrorsNOT_FOUNDno Bin found by the given Id
NULL_ARGUMENT binId is null
OPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceRelationshipQuery() or supportsVisibleFederation() is false
ComplianceoptionalThis method must be implemented if supportsResourceRelationshipQuery() and supportsVisibleFederation() are true
MethodgetResourceRelationshipSearchSession
Description

Gets the OsidSession associated with the resource relationship search service.

Returnosid.resource.ResourceRelationshipSearchSessiona ResourceRelationshipSearchSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceRelationshipSearch() is false
ComplianceoptionalThis method must be implemented if supportsResourceRelationshipSearch() is true.
MethodgetResourceRelationshipSearchSessionForBin
Description

Gets the OsidSession associated with the resource relationship search service for the given bin.

Parametersosid.id.IdbinIdthe Id of the Bin
Returnosid.resource.ResourceRelationshipSearchSessiona ResourceRelationshipSearchSession
ErrorsNOT_FOUNDno bin found by the given Id
NULL_ARGUMENT binId is null
OPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceRelationshipSearch() or supportsVisibleFederation() is false
ComplianceoptionalThis method must be implemented if supportsResourceRelationshipSearch() and supportsVisibleFederation() are true
MethodgetResourceRelationshipAdminSession
Description

Gets the OsidSession associated with the resource relationship administration service.

Returnosid.resource.ResourceRelationshipAdminSessiona ResourceRelationshipAdminSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceRelationshipAdmin() is false
ComplianceoptionalThis method must be implemented if supportsResourceRelationshipAdmin() is true.
MethodgetResourceRelationshipAdminSessionForBin
Description

Gets the OsidSession associated with the resource relationship administration service for the given bin.

Parametersosid.id.IdbinIdthe Id of the Bin
Returnosid.resource.ResourceRelationshipAdminSessiona ResourceRelationshipAdminSession
ErrorsNOT_FOUNDno bin found by the given Id
NULL_ARGUMENT binId is null
OPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceRelationshipAdmin() or supportsVisibleFederation() is false
ComplianceoptionalThis method must be implemented if supportsResourceRelationshipAdmin() and supportsVisibleFederation() are true
MethodgetResourceRelationshipNotificationSession
Description

Gets the OsidSession associated with the resource relationship notification service.

Parametersosid.resource.ResourceRelationshipReceiverresourceRelationshipReceiverthe notification callback
Returnosid.resource.ResourceRelationshipNotificationSessiona ResourceRelationshipNotificationSession
ErrorsNULL_ARGUMENT resourceRelationshipReceiver is null
OPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceRelationshipNotification() is false
ComplianceoptionalThis method must be implemented if supportsResourceRelationshipNotification() is true.
MethodgetResourceRelationshipNotificationSessionForBin
Description

Gets the OsidSession associated with the resource relationship notification service for the given bin.

Parametersosid.resource.ResourceRelationshipReceiverresourceRelationshipReceiverthe notification callback
osid.id.IdbinIdthe Id of the Bin
Returnosid.resource.ResourceRelationshipNotificationSessiona ResourceRelationshipNotificationSession
ErrorsNOT_FOUNDno bin found by the given Id
NULL_ARGUMENT resourceRelationshipReceiver or binId is null
OPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceRelationshiptNotification() or supportsVisibleFederation() is false
ComplianceoptionalThis method must be implemented if supportsResourceRelationshipNotification() and supportsVisibleFederation() are true
MethodgetResourceRelationshipBinSession
Description

Gets the session for retrieving resource relationship to bin mappings.

Returnosid.resource.ResourceRelationshipBinSessiona ResourceRelationshipBinSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceRelationshipBin() is false
ComplianceoptionalThis method must be implemented if supportsResourceRelationshipBin() is true.
MethodgetResourceRelationshipBinAssignmentSession
Description

Gets the session for assigning resource relationships to bin mappings.

Returnosid.resource.ResourceRelationshipBinAssignmentSessiona ResourceRelationshipBinAssignmentSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceRelationshipBinAssignment() is false
ComplianceoptionalThis method must be implemented if supportsResourceRelationshipBinAssignment() is true.
MethodgetResourceRelationshipSmartBinSession
Description

Gets the session for managing dynamic resource relationship bins.

Parametersosid.id.IdbinIdthe Id of the bin
Returnosid.resource.ResourceRelationshipSmartBinSessiona ResourceRelationshipSmartBinSession
ErrorsNOT_FOUND binId not found
NULL_ARGUMENT binId is null
OPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceRelationshipSmartBin() is false
ComplianceoptionalThis method must be implemented if supportsResourceRelationshipSmartBin() is true.
MethodgetBinLookupSession
Description

Gets the bin lookup session.

Returnosid.resource.BinLookupSessiona BinLookupSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsBinLookup() is false
ComplianceoptionalThis method must be implemented if supportsBinLookup() is true.
MethodgetBinQuerySession
Description

Gets the bin query session.

Returnosid.resource.BinQuerySessiona BinQuerySession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsBinQuery() is false
ComplianceoptionalThis method must be implemented if supportsBinQuery() is true.
MethodgetBinSearchSession
Description

Gets the bin search session.

Returnosid.resource.BinSearchSessiona BinSearchSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsBinSearch() is false
ComplianceoptionalThis method must be implemented if supportsBinSearch() is true.
MethodgetBinAdminSession
Description

Gets the bin administrative session for creating, updating and deleteing bins.

Returnosid.resource.BinAdminSessiona BinAdminSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsBinAdmin() is false
ComplianceoptionalThis method must be implemented if supportsBinAdmin() is true.
MethodgetBinNotificationSession
Description

Gets the notification session for subscribing to changes to a bin.

Parametersosid.resource.BinReceiverbinReceiverthe notification callback
Returnosid.resource.BinNotificationSessiona BinNotificationSession
ErrorsNULL_ARGUMENT binReceiver is null
OPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsBinNotification() is false
ComplianceoptionalThis method must be implemented if supportsBinNotification() is true.
MethodgetBinHierarchySession
Description

Gets the bin hierarchy traversal session.

Returnosid.resource.BinHierarchySession a BinHierarchySession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsBinHierarchy() is false
ComplianceoptionalThis method must be implemented if supportsBinHierarchy() is true.
MethodgetBinHierarchyDesignSession
Description

Gets the bin hierarchy design session.

Returnosid.resource.BinHierarchyDesignSessiona BinHierarchyDesignSession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsBinHierarchyDesign() is false
ComplianceoptionalThis method must be implemented if supportsBinHierarchyDesign() is true.
MethodgetResourceBatchManager
Description

Gets the ResourceBatchManager.

Returnosid.resource.batch.ResourceBatchManagera ResourceBatchManager
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceBatch() is false
ComplianceoptionalThis method must be implemented if supportsResourceBatch() is true.
MethodgetResourceDemographicManager
Description

Gets the ResourceDemographicManager.

Returnosid.resource.demographic.ResourceDemographicManagera ResourceDemographicManager
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTED supportsResourceDemographic() is false
ComplianceoptionalThis method must be implemented if supportsResourceDemographic() is true.