| | |
| | | */ |
| | | package org.opends.server.admin.client; |
| | | |
| | | |
| | | |
| | | import java.util.Collection; |
| | | |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.forgerock.opendj.ldap.ErrorResultException; |
| | | import org.opends.server.admin.ManagedObjectPath; |
| | | |
| | | |
| | | |
| | | /** |
| | | * An interface for performing client-side constraint validation. |
| | | * <p> |
| | | * Constraints are evaluated immediately before the client performs a |
| | | * write operation. If one or more constraints fails, the write |
| | | * operation is refused and fails with an |
| | | * {@link OperationRejectedException}. |
| | | * Constraints are evaluated immediately before the client performs a write |
| | | * operation. If one or more constraints fails, the write operation is refused |
| | | * and fails with an {@link OperationRejectedException}. |
| | | * <p> |
| | | * A client constraint handler must override at least one of the |
| | | * provided methods. |
| | | * A client constraint handler must override at least one of the provided |
| | | * methods. |
| | | * |
| | | * @see org.opends.server.admin.Constraint |
| | | */ |
| | | public abstract class ClientConstraintHandler { |
| | | |
| | | /** |
| | | * Creates a new client constraint handler. |
| | | */ |
| | | protected ClientConstraintHandler() { |
| | | // No implementation required. |
| | | } |
| | | /** |
| | | * Creates a new client constraint handler. |
| | | */ |
| | | protected ClientConstraintHandler() { |
| | | // No implementation required. |
| | | } |
| | | |
| | | /** |
| | | * Determines whether or not the newly created managed object which is about |
| | | * to be added to the server configuration satisfies this constraint. |
| | | * <p> |
| | | * If the constraint is not satisfied, the implementation must return |
| | | * <code>false</code> and add a message describing why the constraint was |
| | | * not satisfied. |
| | | * <p> |
| | | * The default implementation is to return <code>true</code>. |
| | | * |
| | | * @param context |
| | | * The management context. |
| | | * @param managedObject |
| | | * The new managed object. |
| | | * @param unacceptableReasons |
| | | * A list of messages to which error messages should be added. |
| | | * @return Returns <code>true</code> if this constraint is satisfied, or |
| | | * <code>false</code> if it is not. |
| | | * @throws AuthorizationException |
| | | * If an authorization failure prevented this constraint from |
| | | * being evaluated. |
| | | * @throws CommunicationException |
| | | * If a communications problem prevented this constraint from |
| | | * being evaluated. |
| | | */ |
| | | public boolean isAddAcceptable(ManagementContext context, ManagedObject<?> managedObject, |
| | | Collection<LocalizableMessage> unacceptableReasons) throws ErrorResultException { |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | | * Determines whether or not the changes to an existing managed object which |
| | | * are about to be committed to the server configuration satisfies this |
| | | * constraint. |
| | | * <p> |
| | | * If the constraint is not satisfied, the implementation must return |
| | | * <code>false</code> and add a message describing why the constraint was |
| | | * not satisfied. |
| | | * <p> |
| | | * The default implementation is to return <code>true</code>. |
| | | * |
| | | * @param context |
| | | * The management context. |
| | | * @param managedObject |
| | | * The modified managed object. |
| | | * @param unacceptableReasons |
| | | * A list of messages to which error messages should be added. |
| | | * @return Returns <code>true</code> if this modify is satisfied, or |
| | | * <code>false</code> if it is not. |
| | | * @throws AuthorizationException |
| | | * If an authorization failure prevented this constraint from |
| | | * being evaluated. |
| | | * @throws CommunicationException |
| | | * If a communications problem prevented this constraint from |
| | | * being evaluated. |
| | | */ |
| | | public boolean isModifyAcceptable(ManagementContext context, ManagedObject<?> managedObject, |
| | | Collection<LocalizableMessage> unacceptableReasons) throws ErrorResultException { |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | | * Determines whether or not the newly created managed object which |
| | | * is about to be added to the server configuration satisfies this |
| | | * constraint. |
| | | * <p> |
| | | * If the constraint is not satisfied, the implementation must |
| | | * return <code>false</code> and add a message describing why the |
| | | * constraint was not satisfied. |
| | | * <p> |
| | | * The default implementation is to return <code>true</code>. |
| | | * |
| | | * @param context |
| | | * The management context. |
| | | * @param managedObject |
| | | * The new managed object. |
| | | * @param unacceptableReasons |
| | | * A list of messages to which error messages should be |
| | | * added. |
| | | * @return Returns <code>true</code> if this constraint is |
| | | * satisfied, or <code>false</code> if it is not. |
| | | * @throws AuthorizationException |
| | | * If an authorization failure prevented this constraint |
| | | * from being evaluated. |
| | | * @throws CommunicationException |
| | | * If a communications problem prevented this constraint |
| | | * from being evaluated. |
| | | */ |
| | | public boolean isAddAcceptable(ManagementContext context, |
| | | ManagedObject<?> managedObject, Collection<LocalizableMessage> unacceptableReasons) |
| | | throws AuthorizationException, CommunicationException { |
| | | return true; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * Determines whether or not the changes to an existing managed |
| | | * object which are about to be committed to the server |
| | | * configuration satisfies this constraint. |
| | | * <p> |
| | | * If the constraint is not satisfied, the implementation must |
| | | * return <code>false</code> and add a message describing why the |
| | | * constraint was not satisfied. |
| | | * <p> |
| | | * The default implementation is to return <code>true</code>. |
| | | * |
| | | * @param context |
| | | * The management context. |
| | | * @param managedObject |
| | | * The modified managed object. |
| | | * @param unacceptableReasons |
| | | * A list of messages to which error messages should be |
| | | * added. |
| | | * @return Returns <code>true</code> if this modify is satisfied, |
| | | * or <code>false</code> if it is not. |
| | | * @throws AuthorizationException |
| | | * If an authorization failure prevented this constraint |
| | | * from being evaluated. |
| | | * @throws CommunicationException |
| | | * If a communications problem prevented this constraint |
| | | * from being evaluated. |
| | | */ |
| | | public boolean isModifyAcceptable(ManagementContext context, |
| | | ManagedObject<?> managedObject, Collection<LocalizableMessage> unacceptableReasons) |
| | | throws AuthorizationException, CommunicationException { |
| | | return true; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * Determines whether or not the existing managed object which is |
| | | * about to be deleted from the server configuration satisfies this |
| | | * constraint. |
| | | * <p> |
| | | * If the constraint is not satisfied, the implementation must |
| | | * return <code>false</code> and add a message describing why the |
| | | * constraint was not satisfied. |
| | | * <p> |
| | | * The default implementation is to return <code>true</code>. |
| | | * |
| | | * @param context |
| | | * The management context. |
| | | * @param path |
| | | * The path of the managed object which is about to be |
| | | * deleted. |
| | | * @param unacceptableReasons |
| | | * A list of messages to which error messages should be |
| | | * added. |
| | | * @return Returns <code>true</code> if this constraint is |
| | | * satisfied, or <code>false</code> if it is not. |
| | | * @throws AuthorizationException |
| | | * If an authorization failure prevented this constraint |
| | | * from being evaluated. |
| | | * @throws CommunicationException |
| | | * If a communications problem prevented this constraint |
| | | * from being evaluated. |
| | | */ |
| | | public boolean isDeleteAcceptable(ManagementContext context, |
| | | ManagedObjectPath<?, ?> path, Collection<LocalizableMessage> unacceptableReasons) |
| | | throws AuthorizationException, CommunicationException { |
| | | return true; |
| | | } |
| | | /** |
| | | * Determines whether or not the existing managed object which is about to |
| | | * be deleted from the server configuration satisfies this constraint. |
| | | * <p> |
| | | * If the constraint is not satisfied, the implementation must return |
| | | * <code>false</code> and add a message describing why the constraint was |
| | | * not satisfied. |
| | | * <p> |
| | | * The default implementation is to return <code>true</code>. |
| | | * |
| | | * @param context |
| | | * The management context. |
| | | * @param path |
| | | * The path of the managed object which is about to be deleted. |
| | | * @param unacceptableReasons |
| | | * A list of messages to which error messages should be added. |
| | | * @return Returns <code>true</code> if this constraint is satisfied, or |
| | | * <code>false</code> if it is not. |
| | | * @throws ErrorResultException |
| | | * If an error occurs. |
| | | */ |
| | | public boolean isDeleteAcceptable(ManagementContext context, ManagedObjectPath<?, ?> path, |
| | | Collection<LocalizableMessage> unacceptableReasons) throws ErrorResultException { |
| | | return true; |
| | | } |
| | | } |