Interface SourceAttributeRestriction


public interface SourceAttributeRestriction
Any Source can optionally implement this interface to provide a set of attributes that it supports querying on.

No guarantees are made of source behavior when it is queried using attributes other than those specified here. It's possible that queries to a source containing attributes not in this set will either be modified to maintain stability, lock up the source for undefined periods of time, or fail outright. Not implementing this interface, or implementing but returning an empty set, implies the source either:

  1. Supports any attribute available to the system, or
  2. can gracefully handle or safely ignore undesireable attributes in a query without introducing usability problems such as degraded service or contradictions in the result set.

This interface should only be implemented by sources. Information returned from this interface will be exposed over the network to support validation scenarios prior to submitting a query.

This code is experimental. While this interface is functional and tested, it may change or be removed in a future version of the library.

  • Method Summary

    Modifier and Type
    Method
    Description
    Get the source that this supported attribute definition describes.
    Get a list of attribute names that the source supports.
  • Method Details

    • getSource

      Source getSource()
      Get the source that this supported attribute definition describes.
      Returns:
      the source defining these supported attributes. Will not be null.
    • getSupportedAttributes

      Set<String> getSupportedAttributes()
      Get a list of attribute names that the source supports.
      Returns:
      a set of attribute names that can safely be used to query the source. Will not be null.