Interface PostLookupSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session provides methods for retrieving Posts . The
Post represents a collection of replies.
This session defines views that offer differing behaviors when retrieving multiple objects.
- comparative view: elements may be silently omitted or re-ordered
- plenary view: provides a complete set or is an error condition
- isolated forum view: All reply methods in this session operate,
retrieve and pertain to posts defined explicitly in the current forum.
Using an isolated view is useful for managing posts with the
PostAdminSession. - federated forum view: All post lookup methods in this session operate, retrieve and pertain to all posts defined in this forum and any other forums implicitly available in this forum through forum inheritence.
The methods useFederatedForumView() and useIsolatedForumView() behave as a radio group and one should be selected before invoking any lookup methods.
-
Method Summary
Modifier and TypeMethodDescriptionbooleanTests if this user can performPostlookups.getForum()Gets theForumassociated with this session.Gets theForumIdassociated with this session.Gets thePostspecified by itsId.getPosts()Gets allPosts.getPostsByDate(DateTime from, DateTime to) Gets aPostListin the given date range inclusive.getPostsByDateForPoster(Id resourceId, DateTime from, DateTime to) Gets aPostListby the given poster and in the given date range inclusive.getPostsByGenusType(Type postGenusType) Gets aPostListcorresponding to the given post genusTypewhich does not include posts of genus types derived from the specifiedType.getPostsByIds(IdList postIds) Gets aPostListcorresponding to the givenIdList.getPostsByParentGenusType(Type postGenusType) Gets aPostListcorresponding to the given post genusTypeand include any additional posts with genus types derived from the specifiedType.getPostsByRecordType(Type postRecordType) Gets aPostListcontaining the given post recordType.getPostsForPoster(Id resourceId) Gets aPostListfor the given poster.voidThe returns from the lookup methods may omit or translate elements based on this session, such as authorization, and not result in an error.voidFederates the view for methods in this session.voidIsolates the view for methods in this session.voidA complete view of thePostreturns is desired.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
-
getForumId
Id getForumId()Gets theForumIdassociated with this session.- Returns:
- the
Forum Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getForum
Gets theForumassociated with this session.- Returns:
- the forum
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canLookupPosts
boolean canLookupPosts()Tests if this user can performPostlookups. A return of true does not guarantee successful authorization. A return of false indicates that it is known all methods in this session will result in aPERMISSION_DENIED. This is intended as a hint to an application that may not offer lookup operations to unauthorized users.- Returns:
falseif lookup methods are not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
useComparativePostView
void useComparativePostView()The returns from the lookup methods may omit or translate elements based on this session, such as authorization, and not result in an error. This view is used when greater interoperability is desired at the expense of precision.- Compliance:
mandatory- This method is must be implemented.
-
usePlenaryPostView
void usePlenaryPostView()A complete view of thePostreturns is desired. Methods will return what is requested or result in an error. This view is used when greater precision is desired at the expense of interoperability.- Compliance:
mandatory- This method is must be implemented.
-
useFederatedForumView
void useFederatedForumView()Federates the view for methods in this session. A federated view will include posts in forums which are children of this forum in the forum hierarchy.- Compliance:
mandatory- This method is must be implemented.
-
useIsolatedForumView
void useIsolatedForumView()Isolates the view for methods in this session. An isolated view restricts retrievals to this forum only.- Compliance:
mandatory- This method is must be implemented.
-
getPost
Post getPost(Id postId) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets thePostspecified by itsId. In plenary mode, the exactIdis found or aNOT_FOUNDresults. Otherwise, the returnedPostmay have a differentIdthan requested, such as the case where a duplicateIdwas assigned to aPostand retained for compatibility.- Parameters:
postId-Idof thePost- Returns:
- the post
- Throws:
NotFoundException-postIdnot foundNullArgumentException-postIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method is must be implemented.
-
getPostsByIds
PostList getPostsByIds(IdList postIds) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets aPostListcorresponding to the givenIdList. In plenary mode, the returned list contains all of the posts specified in theIdlist, in the order of the list, including duplicates, or an error results if anIdin the supplied list is not found or inaccessible. Otherwise, inaccessiblePostsmay be omitted from the list and may present the elements in any order including returning a unique set.- Parameters:
postIds- the list ofIdsto retrieve- Returns:
- the returned
Postlist - Throws:
NotFoundException- anId wasnot foundNullArgumentException-postIdsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getPostsByGenusType
PostList getPostsByGenusType(Type postGenusType) throws OperationFailedException, PermissionDeniedException Gets aPostListcorresponding to the given post genusTypewhich does not include posts of genus types derived from the specifiedType. In plenary mode, the returned list contains all known posts or an error results. Otherwise, the returned list may contain only those posts that are accessible through this session.- Parameters:
postGenusType- a post genus type- Returns:
- the returned
Postlist - Throws:
NullArgumentException-postGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getPostsByParentGenusType
PostList getPostsByParentGenusType(Type postGenusType) throws OperationFailedException, PermissionDeniedException Gets aPostListcorresponding to the given post genusTypeand include any additional posts with genus types derived from the specifiedType. In plenary mode, the returned list contains all known posts or an error results. Otherwise, the returned list may contain only those posts that are accessible through this session.- Parameters:
postGenusType- a post genus type- Returns:
- the returned
Postlist - Throws:
NullArgumentException-postGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getPostsByRecordType
PostList getPostsByRecordType(Type postRecordType) throws OperationFailedException, PermissionDeniedException Gets aPostListcontaining the given post recordType. In plenary mode, the returned list contains all known posts or an error results. Otherwise, the returned list may contain only those posts that are accessible through this session.- Parameters:
postRecordType- a post record type- Returns:
- the returned
Postlist - Throws:
NullArgumentException-postRecordTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getPostsByDate
PostList getPostsByDate(DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException Gets aPostListin the given date range inclusive. In plenary mode, the returned list contains all known posts or an error results. Otherwise, the returned list may contain only those posts that are accessible through this session.- Parameters:
from- start of date rangeto- end of date range- Returns:
- the returned
Postlist - Throws:
InvalidArgumentException-fromis greater thantoNullArgumentException-fromortoisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getPostsForPoster
PostList getPostsForPoster(Id resourceId) throws OperationFailedException, PermissionDeniedException Gets aPostListfor the given poster. In plenary mode, the returned list contains all known posts or an error results. Otherwise, the returned list may contain only those posts that are accessible through this session.- Parameters:
resourceId- a resourceId- Returns:
- the returned
Postlist - Throws:
NullArgumentException-resourceIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getPostsByDateForPoster
PostList getPostsByDateForPoster(Id resourceId, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException Gets aPostListby the given poster and in the given date range inclusive. In plenary mode, the returned list contains all known posts or an error results. Otherwise, the returned list may contain only those posts that are accessible through this session.- Parameters:
resourceId- a resourceIdfrom- start of date rangeto- end of date range- Returns:
- the returned
Postlist - Throws:
InvalidArgumentException-fromis greater thantoNullArgumentException-resourceId, fromortoisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getPosts
Gets allPosts. In plenary mode, the returned list contains all known posts or an error results. Otherwise, the returned list may contain only those posts that are accessible through this session.- Returns:
- a list of
Posts - Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-