Class JPAResourceStore

    • Constructor Detail

      • JPAResourceStore

        public JPAResourceStore​(javax.persistence.EntityManager entityManager,
                                AuthorizationProvider provider)
    • Method Detail

      • create

        public Resource create​(ResourceServer resourceServer,
                               String id,
                               String name,
                               String owner)
        Description copied from interface: ResourceStore

        Creates a Resource instance backed by this persistent storage implementation.

        Specified by:
        create in interface ResourceStore
        Parameters:
        resourceServer - the resource server to where the given resource belongs to. Cannot be null.
        id - the id of this resource. It must be unique. Will be randomly generated if null.
        name - the name of this resource. It must be unique.
        owner - the owner of this resource or null if the resource server is the owner
        Returns:
        an instance backed by the underlying storage implementation
      • delete

        public void delete​(RealmModel realm,
                           String id)
        Description copied from interface: ResourceStore
        Removes a Resource instance, with the given id from the persistent storage.
        Specified by:
        delete in interface ResourceStore
        Parameters:
        realm - the realm. Cannot be null.
        id - the identifier of an existing resource instance
      • findById

        public Resource findById​(RealmModel realm,
                                 ResourceServer resourceServer,
                                 String id)
        Description copied from interface: ResourceStore
        Returns a Resource instance based on its identifier.
        Specified by:
        findById in interface ResourceStore
        Parameters:
        realm - the realm. Cannot be null.
        resourceServer - the resource server. Ignored if null
        id - the identifier of an existing resource instance
        Returns:
        the resource instance with the given identifier or null if no instance was found
      • findByResourceServer

        public List<Resource> findByResourceServer​(ResourceServer resourceServer)
        Description copied from interface: ResourceStore
        Finds all Resource instances associated with a given resource server.
        Specified by:
        findByResourceServer in interface ResourceStore
        Parameters:
        resourceServer - the identifier of the resource server. Cannot be null.
        Returns:
        a list with all resources associated with the given resource server
      • find

        public List<Resource> find​(RealmModel realm,
                                   ResourceServer resourceServer,
                                   Map<Resource.FilterOption,​String[]> attributes,
                                   Integer firstResult,
                                   Integer maxResults)
        Description copied from interface: ResourceStore
        Finds all Resource instances associated with a given resource server.
        Specified by:
        find in interface ResourceStore
        Parameters:
        realm - the realm. Cannot be null.
        resourceServer - the identifier of the resource server. Ignored if null.
        attributes - a map holding the attributes that will be used as a filter; possible filter options are given by Resource.FilterOption
        firstResult - first result to return. Ignored if negative or null.
        maxResults - maximum number of results to return. Ignored if negative or null.
        Returns:
        a list with all resources associated with the given resource server
      • findByName

        public Resource findByName​(ResourceServer resourceServer,
                                   String name,
                                   String ownerId)
        Description copied from interface: ResourceStore
        Find a Resource by its name where the owner is the given ownerId.
        Specified by:
        findByName in interface ResourceStore
        Parameters:
        resourceServer - the identifier of the resource server. Cannot be null.
        name - the name of the resource
        ownerId - the owner id
        Returns:
        a resource with the given name
      • findByType

        public void findByType​(ResourceServer resourceServer,
                               String type,
                               String owner,
                               Consumer<Resource> consumer)
        Description copied from interface: ResourceStore
        Finds all Resource with the given type.
        Specified by:
        findByType in interface ResourceStore
        Parameters:
        resourceServer - the resource server id. Cannot be null
        type - the type of the resource
        owner - the resource owner or null for any resource with a given type
        consumer - the result consumer
      • findByTypeInstance

        public void findByTypeInstance​(ResourceServer resourceServer,
                                       String type,
                                       Consumer<Resource> consumer)
        Description copied from interface: ResourceStore
        Finds all Resource by type where client represented by the resourceServer is not the owner
        Specified by:
        findByTypeInstance in interface ResourceStore
        Parameters:
        resourceServer - the resourceServer. Cannot be null.
        type - searched type
        consumer - a consumer that will be fed with the resulting resources