public interface RuleLookupSession extends OsidSession
This session provides methods for retrieving Rule
objects.
This session defines views that offer differing behaviors when retrieving multiple objects.
Generally, the comparative view should be used for most applications
as it permits operation even if there is data that cannot be accessed. For
example, a browsing application may only need to examine the Rules
it can access, without breaking execution. However, an assessment
may only be useful if all Rules
referenced by it are
available, and a test-taking applicationmay sacrifice some
interoperability for the sake of precision.
Modifier and Type | Method and Description |
---|---|
boolean |
canLookupRules()
Tests if this user can perform
Rule lookups. |
Engine |
getEngine()
Gets the
Engine associated with this session. |
Id |
getEngineId()
Gets the
Engine Id associated with this
session. |
Rule |
getRule(Id ruleId)
Gets the
Rule specified by its Id. |
RuleList |
getRules()
Gets all
Rules. |
RuleList |
getRulesByGenusType(Type ruleGenusType)
Gets a
RuleList corresponding to the given rule genus
Type which does not include rules of genus types
derived from the specified Type. |
RuleList |
getRulesByIds(IdList ruleIds)
Gets a
RuleList corresponding to the given
IdList. |
RuleList |
getRulesByParentGenusType(Type ruleGenusType)
Gets a
RuleList corresponding to the given rule genus
Type and include any additional rules with genus types
derived from the specified Type. |
RuleList |
getRulesByRecordType(Type ruleRecordType)
Gets a
RuleList containing the given repository record
Type. |
void |
useActiveRuleView()
Only active rules are returned by methods in this session.
|
void |
useAnyStatusRuleView()
All active and inactive rules are returned by methods in this session.
|
void |
useComparativeRuleView()
The returns from the lookup methods may omit or translate elements
based on this session, such as authorization, and not result in an
error.
|
void |
useFederatedEngineView()
Federates the view for methods in this session.
|
void |
useIsolatedEngineView()
Isolates the view for methods in this session.
|
void |
usePlenaryRuleView()
A complete view of the
Rule returns is desired. |
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
Id getEngineId()
Engine
Id
associated with this
session. Engine Id
associated with this sessionmandatory
- This method must be implemented. Engine getEngine() throws OperationFailedException, PermissionDeniedException
Engine
associated with this session.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. boolean canLookupRules()
Rule
lookups. 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
a PERMISSION_DENIED.
This is intended as a hint to an
application that may opt not to offer lookup operations to
unauthorized users. false
if lookup methods are not authorized,
true
otherwisemandatory
- This method must be implemented. void useComparativeRuleView()
mandatory
- This method is must be implemented. void usePlenaryRuleView()
Rule
returns 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.mandatory
- This method is must be implemented. void useFederatedEngineView()
mandatory
- This method is must be implemented. void useIsolatedEngineView()
mandatory
- This method is must be implemented. void useActiveRuleView()
mandatory
- This method is must be implemented. void useAnyStatusRuleView()
mandatory
- This method is must be implemented. Rule getRule(Id ruleId) throws NotFoundException, OperationFailedException, PermissionDeniedException
Rule
specified by its Id.
In plenary mode, the exact Id
is found
or a NOT_FOUND
results. Otherwise, the returned
Rule
may have a different Id
than requested,
such as the case where a duplicate Id
was assigned to a
Rule
and retained for compatibility.
In active mode, rules are returned that are currently active. In any
status mode, active and inactive rules are returned.ruleId
- Id
of the Rule
NotFoundException
- ruleId
not foundNullArgumentException
- ruleId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method is must be implemented. RuleList getRulesByIds(IdList ruleIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
RuleList
corresponding to the given
IdList.
In plenary mode, the returned list contains all of the
rules specified in the Id
list, in the order of the
list, including duplicates, or an error results if an Id
in the supplied list is not found or inaccessible. Otherwise,
inaccessible Rules
may be omitted from the list and may
present the elements in any order including returning a unique set.
In active mode, rules are returned that are currently active. In any
status mode, active and inactive rules are returned.ruleIds
- the list of Ids
to retrieve Rule
listNotFoundException
- an Id
was not foundNullArgumentException
- ruleIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. RuleList getRulesByGenusType(Type ruleGenusType) throws OperationFailedException, PermissionDeniedException
RuleList
corresponding to the given rule genus
Type
which does not include rules of genus types
derived from the specified Type.
In plenary mode, the returned list contains all known
rules or an error results. Otherwise, the returned list may contain
only those rules that are accessible through this session.
In active mode, rules are returned that are currently active. In any
status mode, active and inactive rules are returned.ruleGenusType
- a rule genus type Rule
listNullArgumentException
- ruleGenusType
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. RuleList getRulesByParentGenusType(Type ruleGenusType) throws OperationFailedException, PermissionDeniedException
RuleList
corresponding to the given rule genus
Type
and include any additional rules with genus types
derived from the specified Type.
In plenary mode, the returned list contains all known
rules or an error results. Otherwise, the returned list may contain
only those rules that are accessible through this session.
In active mode, rules are returned that are currently active. In any
status mode, active and inactive rules are returned.ruleGenusType
- a rule genus type Rule
listNullArgumentException
- ruleGenusType
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. RuleList getRulesByRecordType(Type ruleRecordType) throws OperationFailedException, PermissionDeniedException
RuleList
containing the given repository record
Type.
In plenary mode, the returned list contains all known
rules or an error results. Otherwise, the returned list may contain
only those rules that are accessible through this session.
In active mode, rules are returned that are currently active. In any
status mode, active and inactive rules are returned.ruleRecordType
- a rule record type Rule
listNullArgumentException
- ruleRecordType
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. RuleList getRules() throws OperationFailedException, PermissionDeniedException
Rules.
In plenary mode, the returned list contains all known rules or an
error results. Otherwise, the returned list may contain only those
rules that are accessible through this session.
In active mode, rules are returned that are currently active. In any
status mode, active and inactive rules are returned. Rules
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.