| | |
| | | package org.forgerock.opendj.rest2ldap; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | |
| | | import org.forgerock.json.fluent.JsonPointer; |
| | |
| | | |
| | | /** |
| | | * Adds the names of the LDAP attributes required by this attribute mapper |
| | | * which are associated with the provided resource attribute to the provided |
| | | * set. |
| | | * to the provided set. |
| | | * <p> |
| | | * Implementations should only add the names of attributes found in the LDAP |
| | | * entry directly associated with the resource. |
| | |
| | | * @param c |
| | | * The context. |
| | | * @param jsonAttribute |
| | | * The name of the resource attribute requested by the client. |
| | | * The name of the requested sub-attribute within this mapper or |
| | | * root if all attributes associated with this mapper have been |
| | | * requested. |
| | | * @param ldapAttributes |
| | | * The set into which the required LDAP attribute names should be |
| | | * put. |
| | |
| | | * filter representation, invoking a completion handler once the |
| | | * transformation has completed. |
| | | * <p> |
| | | * If this attribute mapper is not responsible for mapping the provided JSON |
| | | * attribute then the result handler's {@link ResultHandler#handleResult |
| | | * handleResult} method must be invoked with the value {@code null}. If this |
| | | * attribute mapper is responsible for mapping the JSON attribute, but an |
| | | * error occurred while constructing the LDAP filter, then the result |
| | | * If an error occurred while constructing the LDAP filter, then the result |
| | | * handler's {@link ResultHandler#handleError handleError} method must be |
| | | * invoked with an appropriate exception indicating the problem which |
| | | * occurred. |
| | |
| | | * @param type |
| | | * The type of REST comparison filter. |
| | | * @param jsonAttribute |
| | | * The name of the resource attribute to be filtered. |
| | | * The name of the targeted sub-attribute within this mapper or |
| | | * root if all attributes associated with this mapper have been |
| | | * targeted by the filter. |
| | | * @param operator |
| | | * The name of the extended operator to use for the comparison, |
| | | * or {@code null} if {@code type} is not |
| | |
| | | String operator, Object valueAssertion, ResultHandler<Filter> h); |
| | | |
| | | /** |
| | | * Transforms attributes contained in the provided LDAP entry to JSON |
| | | * content, invoking a completion handler once the transformation has |
| | | * completed. |
| | | * Maps one or more LDAP attributes to their JSON representation, invoking a |
| | | * completion handler once the transformation has completed. |
| | | * <p> |
| | | * This method is invoked whenever an LDAP entry is converted to a REST |
| | | * resource, i.e. when responding to read, query, create, put, or patch |
| | | * requests. |
| | | * <p> |
| | | * If the LDAP attributes are not present in the entry, perhaps because they |
| | | * are optional, then implementations should invoke the result handler's |
| | | * {@link ResultHandler#handleResult handleResult} method with a result of |
| | | * {@code null}. If the LDAP attributes cannot be mapped for any other |
| | | * reason, perhaps because they are required but missing, or they contain |
| | | * unexpected content, then the result handler's |
| | | * {@link ResultHandler#handleError handleError} method must be invoked with |
| | | * an appropriate exception indicating the problem which occurred. |
| | | * |
| | | * @param c |
| | | * The context. |
| | |
| | | * @param h |
| | | * The result handler. |
| | | */ |
| | | abstract void toJSON(Context c, Entry e, ResultHandler<Map<String, Object>> h); |
| | | abstract void toJSON(Context c, Entry e, ResultHandler<JsonValue> h); |
| | | |
| | | /** |
| | | * Transforms JSON content in the provided JSON value to LDAP attributes, |
| | | * invoking a completion handler once the transformation has completed. |
| | | * Maps a JSON value to one or more LDAP attributes, invoking a completion |
| | | * handler once the transformation has completed. |
| | | * <p> |
| | | * This method is invoked whenever a REST resource is converted to an LDAP |
| | | * entry or LDAP modification, i.e. when performing create, put, or patch |
| | | * requests. |
| | | * <p> |
| | | * If the JSON value corresponding to this mapper is not present in the |
| | | * resource then this method will be invoked with a value of {@code null}. |
| | | * It is the responsibility of the mapper implementation to take appropriate |
| | | * action in this case, perhaps by substituting default LDAP values, or by |
| | | * rejecting the update by invoking the result handler's |
| | | * {@link ResultHandler#handleError handleError} method. |
| | | * |
| | | * @param c |
| | | * The context. |
| | | * @param v |
| | | * The JSON value to be converted to LDAP attributes. |
| | | * The JSON value to be converted to LDAP attributes, which may |
| | | * be {@code null} indicating that the JSON value was not present |
| | | * in the resource. |
| | | * @param h |
| | | * The result handler. |
| | | */ |