Interface PublisherQuery

All Superinterfaces:
Extensible, OsidBrowsableQuery, OsidCatalogQuery, OsidExtensibleQuery, OsidFederateableQuery, OsidIdentifiableQuery, OsidObjectQuery, OsidQuery, OsidSourceableQuery, Suppliable

public interface PublisherQuery extends OsidCatalogQuery

This is the query for searching for publishers. Each method specifies an AND term while multiple invocations of the same method produce a nested OR .

  • Method Details

    • matchSubscriptionId

      void matchSubscriptionId(Id subscriptionId, boolean match)
      Sets the subscription Id for this query to match subscriptions assigned to publishers.
      Parameters:
      subscriptionId - a subscription Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - subscriptionId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearSubscriptionIdTerms

      void clearSubscriptionIdTerms()
      Clears the subscription Id terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsSubscriptionQuery

      boolean supportsSubscriptionQuery()
      Tests if a subscription query is available.
      Returns:
      true if a subscription query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getSubscriptionQuery

      SubscriptionQuery getSubscriptionQuery()
      Gets the query for a publisher.
      Returns:
      the subscription query
      Throws:
      UnimplementedException - supportsSubscriptionQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsSubscriptionQuery()} is {@code true} .
    • matchAnySubscription

      void matchAnySubscription(boolean match)
      Matches publishers with any subscription.
      Parameters:
      match - true to match publishers with any subscription, false to match publishers with no subscriptions
      Compliance:
      mandatory - This method must be implemented.
    • clearSubscriptionTerms

      void clearSubscriptionTerms()
      Clears the subscription terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchDispatchId

      void matchDispatchId(Id dispatchId, boolean match)
      Sets the dispatch Id for this query to match subscriptions assigned to dispatches.
      Parameters:
      dispatchId - a dispatch Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - dispatchId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearDispatchIdTerms

      void clearDispatchIdTerms()
      Clears the dispatch Id terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsDispatchQuery

      boolean supportsDispatchQuery()
      Tests if a DispatchQuery is available.
      Returns:
      true if a dispatch query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getDispatchQuery

      DispatchQuery getDispatchQuery()
      Gets the query for a dispatch query. Multiple retrievals produce a nested OR term.
      Returns:
      the dispatch query
      Throws:
      UnimplementedException - supportsDispatchQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsDispatchQuery()} is {@code true} .
    • matchAnyDispatch

      void matchAnyDispatch(boolean match)
      Matches publishers with any dispatch.
      Parameters:
      match - true to match publishers with any dispatch, false to match publishers with no dispatches
      Compliance:
      mandatory - This method must be implemented.
    • clearDispatchTerms

      void clearDispatchTerms()
      Clears the dispatch terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchAncestorPublisherId

      void matchAncestorPublisherId(Id publisherId, boolean match)
      Sets the publisher Id for this query to match publishers that have the specified publisher as an ancestor.
      Parameters:
      publisherId - a publisher Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - publisherId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearAncestorPublisherIdTerms

      void clearAncestorPublisherIdTerms()
      Clears the ancestor publisher Id terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsAncestorPublisherQuery

      boolean supportsAncestorPublisherQuery()
      Tests if a PublisherQuery is available.
      Returns:
      true if a publisher query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getAncestorPublisherQuery

      PublisherQuery getAncestorPublisherQuery()
      Gets the query for a publisher. Multiple retrievals produce a nested OR term.
      Returns:
      the publisher query
      Throws:
      UnimplementedException - supportsAncestorPublisherQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsAncestorPublisherQuery()} is {@code true} .
    • matchAnyAncestorPublisher

      void matchAnyAncestorPublisher(boolean match)
      Matches publishers with any ancestor.
      Parameters:
      match - true to match publishers with any ancestor, false to match root publishers
      Compliance:
      mandatory - This method must be implemented.
    • clearAncestorPublisherTerms

      void clearAncestorPublisherTerms()
      Clears the ancestor publisher terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchDescendantPublisherId

      void matchDescendantPublisherId(Id publisherId, boolean match)
      Sets the publisher Id for this query to match publishers that have the specified publisher as a descendant.
      Parameters:
      publisherId - a publisher Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - publisherId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearDescendantPublisherIdTerms

      void clearDescendantPublisherIdTerms()
      Clears the descendant publisher Id terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsDescendantPublisherQuery

      boolean supportsDescendantPublisherQuery()
      Tests if a PublisherQuery is available.
      Returns:
      true if a publisher query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getDescendantPublisherQuery

      PublisherQuery getDescendantPublisherQuery()
      Gets the query for a publisher. Multiple retrievals produce a nested OR term.
      Returns:
      the publisher query
      Throws:
      UnimplementedException - supportsDescendantPublisherQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsDescendantPublisherQuery()} is {@code true} .
    • matchAnyDescendantPublisher

      void matchAnyDescendantPublisher(boolean match)
      Matches publishers with any descendant.
      Parameters:
      match - true to match publishers with any descendant, false to match leaf publishers
      Compliance:
      mandatory - This method must be implemented.
    • clearDescendantPublisherTerms

      void clearDescendantPublisherTerms()
      Clears the descendant publisher terms.
      Compliance:
      mandatory - This method must be implemented.
    • getPublisherQueryRecord

      PublisherQueryRecord getPublisherQueryRecord(Type publisherRecordType) throws OperationFailedException
      Gets the publisher query record corresponding to the given Publisher record Type . Multiple record retrievals produce a nested boolean OR term.
      Parameters:
      publisherRecordType - a publisher record type
      Returns:
      the publisher query record
      Throws:
      NullArgumentException - publisherRecordType is null
      OperationFailedException - unable to complete request
      UnsupportedException - hasRecordType(publisherRecordType) is false
      Compliance:
      mandatory - This method must be implemented.