Interface BrowseSearchable

  • All Superinterfaces:
    Browseable, EntityProvider

    public interface BrowseSearchable
    extends Browseable
    This indicates that this entity will participate in browse functionality for entities, For example, it will provide lists of entities which are visible to users in locations which can be looked through and selected
    This provides fine grained control over which entities will appear in a browse list, normally CollectionResolvable should show all entities, however, for the browse list we will explicitly filter by users and/or locations and may not show all entities, entities which do not implement this or BrowseableCollection will not appear in lists of entities which are being browsed
    This is one of the capability extensions for the EntityProvider interface
    This is the configuration interface for BrowseableCollection (the convention interface)
    Author:
    Aaron Zeckoski (azeckoski @ gmail.com)
    • Method Detail

      • browseEntities

        List<EntityData> browseEntities​(Search search,
                                        String userReference,
                                        String associatedReference,
                                        Map<String,​Object> params)
        Returns the list of entities which are being browsed based on the given parameters
        See Browseable for the i18n keys
        Parameters:
        search - a search object which can define the order to return entities, search filters, and total number of entities returned, may be empty but will not be null, implementors are encouraged to support ordering and limiting of the number of returned results at least
        userReference - (optional) the unique entity reference for a user which is browsing the results, this may be null to indicate that only items which are visible to all users should be shown
        associatedReference - (optional) a globally unique reference to an entity, this is the entity that the returned browseable data must be associated with (e.g. limited by reference to a location/site/group or other associated entity), this may be null to indicate there is no association limit
        params - (optional) incoming set of parameters which may be used to send data specific to this request, may be null
        Returns:
        a list of entity data objects which contain the reference, URL, display title and optionally other entity data
        Throws:
        SecurityException - if the data cannot be accessed by the current user or is not publicly accessible
        IllegalArgumentException - if the reference is invalid or the search is invalid
        IllegalStateException - if any other error occurs