Interface SubscriptionPublisherAssignmentSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session provides methods to re-assign Subscriptions to
Publishers . A Subscription may map to multiple
Publishers and removing the last reference to a Subscription is
the equivalent of deleting it. Each Publisher may have its own
authorizations governing who is allowed to operate on it.
Adding a reference of a Subscription to another
Publisher is not a copy operation (eg: does not change its Id ).
-
Method Summary
Modifier and TypeMethodDescriptionvoidassignSubscriptionToPublisher(Id subscriptionId, Id publisherId) Adds an existingSubscriptionto aPublisher.booleanTests if this user can alter subscription/publisher mappings.booleancanAssignSubscriptionsToPublisher(Id publisherId) Tests if this user can alter subscription/publisher mappings.getAssignablePublisherIds(Id publisherId) Gets a list of publishers including and under the given publisher node in which any subscription can be assigned.getAssignablePublisherIdsForSubscription(Id publisherId, Id subscriptionId) Gets a list of publishers including and under the given publisher node in which a specific subscription can be assigned.voidreassignSubscriptionToPublisher(Id subscriptionId, Id fromPublisherId, Id toPublisherId) Moves aSubscriptionfrom onePublisherto another.voidunassignSubscriptionFromPublisher(Id subscriptionId, Id publisherId) Removes aSubscriptionfrom aPublisher.Methods inherited from interface OsidSession
closeMethods inherited from interface OsidSession
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionsModifier and TypeMethodDescriptionGets the agent authenticated to this session.Gets theIdof the agent authenticated to this session.Gets the rate of the service clock.getDate()Gets the service date which may be the current date or the effective date in which this session exists.Gets the effective agent in use by this session.Gets theIdof the effective agent in use by this session.Gets theDisplayTextformatTypepreference in effect for this session.Gets the locale indicating the localization preferences in effect for this session.booleanTests if an agent is authenticated to this session.Starts a new transaction for this sesson.booleanTests for the availability of transactions.
-
Method Details
-
canAssignSubscriptions
boolean canAssignSubscriptions()Tests if this user can alter subscription/publisher mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.- Returns:
falseif mapping is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
canAssignSubscriptionsToPublisher
Tests if this user can alter subscription/publisher mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.- Parameters:
publisherId- theIdof thePublisher- Returns:
falseif mapping is not authorized,trueotherwise- Throws:
NullArgumentException-publisherIdisnull- Compliance:
mandatory- This method must be implemented.
-
getAssignablePublisherIds
Gets a list of publishers including and under the given publisher node in which any subscription can be assigned.- Parameters:
publisherId- theIdof thePublisher- Returns:
- list of assignable publisher
Ids - Throws:
NullArgumentException-publisherIdisnullOperationFailedException- unable to complete request- Compliance:
mandatory- This method must be implemented.
-
getAssignablePublisherIdsForSubscription
IdList getAssignablePublisherIdsForSubscription(Id publisherId, Id subscriptionId) throws OperationFailedException Gets a list of publishers including and under the given publisher node in which a specific subscription can be assigned.- Parameters:
publisherId- theIdof thePublishersubscriptionId- theIdof theSubscription- Returns:
- list of assignable publisher
Ids - Throws:
NullArgumentException-publisherIdorsubscriptionIdisnullOperationFailedException- unable to complete request- Compliance:
mandatory- This method must be implemented.
-
assignSubscriptionToPublisher
void assignSubscriptionToPublisher(Id subscriptionId, Id publisherId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException Adds an existingSubscriptionto aPublisher.- Parameters:
subscriptionId- theIdof theSubscriptionpublisherId- theIdof thePublisher- Throws:
AlreadyExistsException-subscriptionIdis already assigned topublisherIdNotFoundException-subscriptionIdorpublisherIdnot foundNullArgumentException-subscriptionIdorpublisherIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
unassignSubscriptionFromPublisher
void unassignSubscriptionFromPublisher(Id subscriptionId, Id publisherId) throws NotFoundException, OperationFailedException, PermissionDeniedException Removes aSubscriptionfrom aPublisher.- Parameters:
subscriptionId- theIdof theSubscriptionpublisherId- theIdof thePublisher- Throws:
NotFoundException-subscriptionIdorpublisherIdnot found orsubscriptionIdnot assigned topublisherIdNullArgumentException-subscriptionIdorpublisherIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
reassignSubscriptionToPublisher
void reassignSubscriptionToPublisher(Id subscriptionId, Id fromPublisherId, Id toPublisherId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException Moves aSubscriptionfrom onePublisherto another. Mappings to otherPublishersare unaffected.- Parameters:
subscriptionId- theIdof theSubscriptionfromPublisherId- theIdof the currentPublishertoPublisherId- theIdof the destinationPublisher- Throws:
AlreadyExistsException-subscriptionIdalready assigned totoPublisherIdNotFoundException-subscriptionId, fromPublisherId, ortoPublisherIdnot found orsubscriptionIdnot mapped tofromPublisherIdNullArgumentException-subscriptionId, fromPublisherId, ortoPublisherIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-