/* * The contents of this file are subject to the terms of the Common Development and * Distribution License (the License). You may not use this file except in compliance with the * License. * * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the * specific language governing permission and limitations under the License. * * When distributing Covered Software, include this CDDL Header Notice in each file and include * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL * Header, with the fields enclosed by brackets [] replaced by your own identifying * information: "Portions Copyright [year] [name of copyright owner]". * * Copyright 2008-2009 Sun Microsystems, Inc. * Portions Copyright 2011 ForgeRock AS. */ package org.opends.server.authorization.dseecompat; import org.opends.server.core.*; import org.opends.server.types.*; import org.opends.server.workflowelement.localbackend.*; /** * The AciLDAPOperationContainer is an AciContainer * extended class that wraps each LDAP operation being * evaluated or tested for target matched of an ACI. */ public class AciLDAPOperationContainer extends AciContainer { /** * Constructor interface for all currently supported LDAP operations. * @param operation The compare operation to evaluate. * @param rights The rights of a compare operation. * @param entry The entry for evaluation. */ public AciLDAPOperationContainer(Operation operation, int rights, Entry entry) { super(operation, rights, entry); } /** * Constructor interface for the compare operation. * @param operation The compare operation to evaluate. * @param rights The rights of a compare operation. */ public AciLDAPOperationContainer(LocalBackendCompareOperation operation, int rights) { super(operation, rights, operation.getEntryToCompare()); } /** * Constructor interface for evaluation general purpose Operation, entry and * rights.. * * @param operation The operation to use in the evaluation. * @param e The entry for evaluation. * @param authInfo The authentication information to use in the evaluation. * @param rights The rights of the operation. */ public AciLDAPOperationContainer(Operation operation, Entry e, AuthenticationInfo authInfo, int rights) { super(operation, e, authInfo, rights); } /** * Constructor interface for evaluation of a control. * * @param operation The operation to use in the evaluation. * @param e An entry built especially for evaluation. * @param c The control to evaluate. * @param rights The rights of a control. */ public AciLDAPOperationContainer(Operation operation, Entry e, Control c, int rights) { super(operation, rights, e ); setControlOID(c.getOID()); } /** * Constructor interface for evaluation of the extended operation. * * @param operation The extended operation to evaluate. * @param e An entry built especially for evaluation. * @param rights The rights of a extended operation. */ public AciLDAPOperationContainer(ExtendedOperation operation, Entry e, int rights) { super(operation, rights, e ); setExtOpOID(operation.getRequestOID()); } /** * Constructor interface for the add operation. * @param operation The add operation to evaluate. * @param rights The rights of an add operation. */ public AciLDAPOperationContainer(LocalBackendAddOperation operation, int rights) { super(operation, rights, operation.getEntryToAdd()); } /** * Constructor interface for the delete operation. * @param operation The add operation to evaluate. * @param rights The rights of a delete operation. */ public AciLDAPOperationContainer(LocalBackendDeleteOperation operation, int rights) { super(operation, rights, operation.getEntryToDelete()); } /** * Constructor interface for the modify operation. * @param rights The rights of modify operation. * @param operation The add operation to evaluate. */ public AciLDAPOperationContainer(LocalBackendModifyOperation operation, int rights) { super(operation, rights, operation.getCurrentEntry()); } /** * Constructor interface for the modify DN operation. * @param operation The modify DN operation. * @param rights The rights of the modify DN operation. * @param entry The entry to evaluated for this modify DN. */ public AciLDAPOperationContainer(ModifyDNOperation operation, int rights, Entry entry) { super(operation, rights, entry); } }