org.keycloak.connections.mongo.api

## Interface MongoStore

- All Known Implementing Classes:
    MongoStoreImpl

      public interface MongoStore

  Author:
    Marek Posolda

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `<T extends MongoIdentifiableEntity> int` | `countEntities(Class<T> type, com.mongodb.DBObject query, MongoStoreInvocationContext context)`
    `void` | `insertEntity(MongoIdentifiableEntity entity, MongoStoreInvocationContext context)` Insert new entity
    `<T extends MongoIdentifiableEntity> List<T>` | `loadEntities(Class<T> type, com.mongodb.DBObject query, com.mongodb.DBObject sort, int firstResult, int maxResults, MongoStoreInvocationContext context)`
    `<T extends MongoIdentifiableEntity> List<T>` | `loadEntities(Class<T> type, com.mongodb.DBObject query, MongoStoreInvocationContext context)`
    `<T extends MongoIdentifiableEntity> T` | `loadEntity(Class<T> type, String id, MongoStoreInvocationContext context)`
    `<T extends MongoIdentifiableEntity> T` | `loadSingleEntity(Class<T> type, com.mongodb.DBObject query, MongoStoreInvocationContext context)`
    `<S> boolean` | `pullItemFromList(MongoIdentifiableEntity entity, String listPropertyName, S itemToPull, MongoStoreInvocationContext context)`
    `<S> boolean` | `pushItemToList(MongoIdentifiableEntity entity, String listPropertyName, S itemToPush, boolean skipIfAlreadyPresent, MongoStoreInvocationContext context)`
    `int` | `removeEntities(Class<? extends MongoIdentifiableEntity> type, com.mongodb.DBObject query, boolean callback, MongoStoreInvocationContext context)`
    `boolean` | `removeEntity(Class<? extends MongoIdentifiableEntity> type, String id, MongoStoreInvocationContext context)`
    `boolean` | `removeEntity(MongoIdentifiableEntity entity, MongoStoreInvocationContext context)`
    `<T extends MongoIdentifiableEntity> int` | `updateEntities(Class<T> type, com.mongodb.DBObject query, com.mongodb.DBObject update, MongoStoreInvocationContext context)` Bulk update of more entities of some type
    `void` | `updateEntity(MongoIdentifiableEntity entity, MongoStoreInvocationContext context)` Update existing entity

- - ### Method Detail

    - #### insertEntity

          void insertEntity(MongoIdentifiableEntity entity,
                            MongoStoreInvocationContext context)

      Insert new entity
      Parameters:
        `entity` - to insert

    - #### updateEntity

          void updateEntity(MongoIdentifiableEntity entity,
                            MongoStoreInvocationContext context)

      Update existing entity
      Parameters:
        `entity` - to update

    - #### updateEntities

          <T extends MongoIdentifiableEntity> int updateEntities(Class<T> type,
                                                                 com.mongodb.DBObject query,
                                                                 com.mongodb.DBObject update,
                                                                 MongoStoreInvocationContext context)

      Bulk update of more entities of some type
      Parameters:
        `type` -
        `query` -
        `update` -
        `context` -
      Returns:
        count of updated entities

    - #### loadEntity

          <T extends MongoIdentifiableEntity> T loadEntity(Class<T> type,
                                                           String id,
                                                           MongoStoreInvocationContext context)

    - #### loadSingleEntity

          <T extends MongoIdentifiableEntity> T loadSingleEntity(Class<T> type,
                                                                 com.mongodb.DBObject query,
                                                                 MongoStoreInvocationContext context)

    - #### loadEntities

          <T extends MongoIdentifiableEntity> List<T> loadEntities(Class<T> type,
                                                                   com.mongodb.DBObject query,
                                                                   MongoStoreInvocationContext context)

      Parameters:
        `type` -
        `query` -
        `context` -
      Returns:
        query result or empty list if no results available for the query. Doesn't return null

    - #### loadEntities

          <T extends MongoIdentifiableEntity> List<T> loadEntities(Class<T> type,
                                                                   com.mongodb.DBObject query,
                                                                   com.mongodb.DBObject sort,
                                                                   int firstResult,
                                                                   int maxResults,
                                                                   MongoStoreInvocationContext context)

      Parameters:
        `type` -
        `query` -
        `context` -
      Returns:
        query result or empty list if no results available for the query. Doesn't return null

    - #### countEntities

          <T extends MongoIdentifiableEntity> int countEntities(Class<T> type,
                                                                com.mongodb.DBObject query,
                                                                MongoStoreInvocationContext context)

    - #### removeEntity

          boolean removeEntity(MongoIdentifiableEntity entity,
                               MongoStoreInvocationContext context)

    - #### removeEntity

          boolean removeEntity(Class<? extends MongoIdentifiableEntity> type,
                               String id,
                               MongoStoreInvocationContext context)

    - #### removeEntities

          int removeEntities(Class<? extends MongoIdentifiableEntity> type,
                             com.mongodb.DBObject query,
                             boolean callback,
                             MongoStoreInvocationContext context)

      Parameters:
        `type` -
        `query` -
        `callback` - if true, then store will first load all entities, then call "afterRemove" for every entity. If false, the entities are removed directly without load and calling "afterRemove" callback false has better performance (especially if we are going to remove big number of entities)
        `context` -
      Returns:
        count of removed entities

    - #### pushItemToList

          <S> boolean pushItemToList(MongoIdentifiableEntity entity,
                                     String listPropertyName,
                                     S itemToPush,
                                     boolean skipIfAlreadyPresent,
                                     MongoStoreInvocationContext context)

    - #### pullItemFromList

          <S> boolean pullItemFromList(MongoIdentifiableEntity entity,
                                       String listPropertyName,
                                       S itemToPull,
                                       MongoStoreInvocationContext context)

Copyright © 2016 JBoss by Red Hat. All rights reserved.