Interface ProfileEntry

All Superinterfaces:
Browsable, Extensible, Identifiable, OsidObject, OsidRelationship, Temporal

public interface ProfileEntry extends OsidRelationship

A ProfileEntry is a mapping among an Agent or Resource , and a ProfileItem . This interface is not required for performing a profile check but is used for examining and managing profiles.

The actor of a profile may be specified in a variety of forms.

  • Agent
  • Resource : all Agents associated with a Resource for matching profiles

An explicit ProfileEntry represents the mappings as they are specified in the profile provdier. Implicit profile entries may be retrieved which are profile entries inferred through the ProfileItem hierarchy. An implicit ProfileEntry is one where isImplicit() is true and should not be used for modification as it is only available for auditing purposes.

An ProfileEntry containing a Resource may also provide the associated Agent in a request for implicit profiles or for all the profiles, both explicit and implicit, for a given Agent .

  • Method Details

    • isImplicit

      boolean isImplicit()
      Tests if this profile entry is implicitly generated.
      Returns:
      true if this profile entry is implicit, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • hasResource

      boolean hasResource()
      Tests if this profile entry has a Resource .
      Returns:
      true if this profile entry has a Resource , false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getResourceId

      Id getResourceId()
      Gets the resource Id for this profile entry.
      Returns:
      the Resource Id
      Throws:
      IllegalStateException - hasResource() is false
      Compliance:
      mandatory - This method must be implemented.
    • getResource

      Resource getResource() throws OperationFailedException
      Gets the Resource for this profile ebtry.
      Returns:
      the Resource
      Throws:
      IllegalStateException - hasResource() is false
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • hasAgent

      boolean hasAgent()
      Tests if this profile entry has an Agent .An implied profile entry may have an Agent in addition to a specified Resource .
      Returns:
      true if this profile entry has an Agent , false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getAgentId

      Id getAgentId()
      Gets the Agent Id for this profile entry.
      Returns:
      the Agent Id
      Throws:
      IllegalStateException - hasAgent() is false
      Compliance:
      mandatory - This method must be implemented.
    • getAgent

      Agent getAgent() throws OperationFailedException
      Gets the Agent for this profile entry.
      Returns:
      the Agent
      Throws:
      IllegalStateException - hasAgent() is false
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getProfileItemId

      Id getProfileItemId()
      Gets the ProfileItem Id for this profile entry.
      Returns:
      the profile item Id
      Compliance:
      mandatory - This method must be implemented.
    • getProfileItem

      ProfileItem getProfileItem() throws OperationFailedException
      Gets the ProfileItem for this profile entry.
      Returns:
      the profile item
      Throws:
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getProfileEntryRecord

      ProfileEntryRecord getProfileEntryRecord(Type profileEntryRecordType) throws OperationFailedException
      Gets the proile entry record corresponding to the given ProfileEntry record Type . This method ie used to retrieve an object implementing the requested record. The profileEntryRecordType may be the Type returned in getRecordTypes() or any of its parents in a Type hierarchy where hasRecordType(profileEntryRecordType) is true .
      Parameters:
      profileEntryRecordType - the type of the record to retrieve
      Returns:
      the profile entry record
      Throws:
      NullArgumentException - profileEntryRecordType is null
      OperationFailedException - unable to complete request
      UnsupportedException - hasRecordType(profileEntryRecordType) is false
      Compliance:
      mandatory - This method must be implemented.