Interface AccountLookupSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session defines methods for retrieving general ledger accounts.
This lookup session defines several views:
- comparative view: elements may be silently omitted or re-ordered
- plenary view: provides a complete result set or is an error condition
- isolated business view: All account methods in this session
operate, retrieve and pertain to accounts defined explicitly in the
current business. Using an isolated view is useful for managing
Accountswith theAccountAdminSession. - federated business view: All account lookup methods in this session operate, retrieve and pertain to all accounts defined in this business and any other accounts implicitly available in this business through business inheritence.
The methods useFederatedBusinessView() and
useIsolatedBusinessView() behave as a radio group and one should be
selected before invoking any lookup methods.
Accounts may have an additional records indicated by their respective
record types. The record may not be accessed through a cast of the
Activity.
Like all OsidSessions, AccountLookupSessions are
dedicated to single processing threads and a single authenticated user.
-
Method Summary
Modifier and TypeMethodDescriptionbooleanTests if this user can performAccountlookups.getAccount(Id accountId) Gets theAccountspecified by itsId.Gets allAccounts.getAccountsByCode(String code) Gets anAccountListassociated with the given code.getAccountsByGenusType(Type accountGenusType) Gets anAccountListcorresponding to the given account genusTypewhich does not include accounts of types derived from the specifiedType.In plenary mode, the returned list contains all known accounts or an error results.getAccountsByIds(IdList accountIds) Gets anAccountListcorresponding to the givenIdList.getAccountsByParentGenusType(Type accountGenusType) Gets anAccountListcorresponding to the given account genusTypeand include any additional accounts with genus types derived from the specifiedType.In plenary mode, the returned list contains all known accounts or an error results.getAccountsByRecordType(Type accountRecordType) Gets anAccountListcontaining the given account recordType.Gets theBusinessassociated with this session.Gets theBusinessIdassociated with this session.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 theAccountreturns is desired.Methods inherited from interface OsidSession
closeMethods inherited from interface OsidSession
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatTypes, getLocales, isAuthenticated, startTransaction, supportsTransactions
-
Method Details
-
getBusinessId
Id getBusinessId()Gets theBusinessIdassociated with this session.- Returns:
- the
Business Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getBusiness
Gets theBusinessassociated with this session.- Returns:
- the business
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canLookupAccounts
boolean canLookupAccounts()Tests if this user can performAccountlookups. 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.
-
useComparativeAccountView
void useComparativeAccountView()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 must be implemented.
-
usePlenaryAccountView
void usePlenaryAccountView()A complete view of theAccountreturns 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 must be implemented.
-
useFederatedBusinessView
void useFederatedBusinessView()Federates the view for methods in this session. A federated view will include accounts in catalogs which are children of this catalog in the business hierarchy.- Compliance:
mandatory- This method must be implemented.
-
useIsolatedBusinessView
void useIsolatedBusinessView()Isolates the view for methods in this session. An isolated view restricts retrievals to this business only.- Compliance:
mandatory- This method must be implemented.
-
getAccount
Account getAccount(Id accountId) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets theAccountspecified by itsId. In plenary mode, the exactIdis found or aNOT_FOUNDresults. Otherwise, the returnedAccountmay have a differentIdthan requested, such as the case where a duplicateIdwas assigned to anAccountand retained for compatibility.- Parameters:
accountId- theIdof theAccountto retrieve- Returns:
- the returned
Account - Throws:
NotFoundException- noAccountfound with the givenIdNullArgumentException-accountIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getAccountsByIds
AccountList getAccountsByIds(IdList accountIds) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets anAccountListcorresponding to the givenIdList. In plenary mode, the returned list contains all of the accounts 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, inaccessibleAccountsmay be omitted from the list and may present the elements in any order including returning a unique set.- Parameters:
accountIds- the list ofIdsto retrieve- Returns:
- the returned
Accountlist - Throws:
NotFoundException- anId wasnot foundNullArgumentException-accountIdsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getAccountsByGenusType
AccountList getAccountsByGenusType(Type accountGenusType) throws OperationFailedException, PermissionDeniedException Gets anAccountListcorresponding to the given account genusTypewhich does not include accounts of types derived from the specifiedType.In plenary mode, the returned list contains all known accounts or an error results. Otherwise, the returned list may contain only those accounts that are accessible through this session.- Parameters:
accountGenusType- an account genus type- Returns:
- the returned
Accountlist - Throws:
NullArgumentException-accountGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getAccountsByParentGenusType
AccountList getAccountsByParentGenusType(Type accountGenusType) throws OperationFailedException, PermissionDeniedException Gets anAccountListcorresponding to the given account genusTypeand include any additional accounts with genus types derived from the specifiedType.In plenary mode, the returned list contains all known accounts or an error results. Otherwise, the returned list may contain only those accounts that are accessible through this session.- Parameters:
accountGenusType- an account genus type- Returns:
- the returned
Accountlist - Throws:
NullArgumentException-accountGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getAccountsByRecordType
AccountList getAccountsByRecordType(Type accountRecordType) throws OperationFailedException, PermissionDeniedException Gets anAccountListcontaining the given account recordType. In plenary mode, the returned list contains all known accounts or an error results. Otherwise, the returned list may contain only those accounts that are accessible through this session.- Parameters:
accountRecordType- an account record type- Returns:
- the returned
Accountlist - Throws:
NullArgumentException-accountRecordTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getAccountsByCode
AccountList getAccountsByCode(String code) throws OperationFailedException, PermissionDeniedException Gets anAccountListassociated with the given code. In plenary mode, the returned list contains all known accounts or an error results. Otherwise, the returned list may contain only those accounts that are accessible through this session.- Parameters:
code- n account code- Returns:
- the returned
Accountlist - Throws:
NullArgumentException-codeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getAccounts
Gets allAccounts. In plenary mode, the returned list contains all known accounts or an error results. Otherwise, the returned list may contain only those accounts that are accessible through this session.- Returns:
- a list of
Accounts - Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-