5068612b175360889317ffea5826e816c2abbe08neil_a_wilson/*
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * CDDL HEADER START
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson *
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * The contents of this file are subject to the terms of the
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * Common Development and Distribution License, Version 1.0 only
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * (the "License"). You may not use this file except in compliance
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * with the License.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson *
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac * or http://forgerock.org/license/CDDLv1.0.html.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * See the License for the specific language governing permissions
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * and limitations under the License.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson *
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * When distributing Covered Code, include this CDDL HEADER in each
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac * file and include the License file at legal-notices/CDDLv1_0.txt.
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac * If applicable, add the following below this CDDL HEADER, with the
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac * fields enclosed by brackets "[]" replaced with your own identifying
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac * information:
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * Portions Copyright [yyyy] [name of copyright owner]
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson *
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * CDDL HEADER END
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson *
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson *
a395dd575518d9e5280fc5d5d5ef47c61b174647ludovicp * Copyright 2008 Sun Microsystems, Inc.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson */
5068612b175360889317ffea5826e816c2abbe08neil_a_wilsonpackage org.opends.server.types.operation;
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilsonimport java.util.List;
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilsonimport org.opends.server.types.AttributeValue;
5068612b175360889317ffea5826e816c2abbe08neil_a_wilsonimport org.opends.server.types.ByteString;
5068612b175360889317ffea5826e816c2abbe08neil_a_wilsonimport org.opends.server.types.DN;
5068612b175360889317ffea5826e816c2abbe08neil_a_wilsonimport org.opends.server.types.Entry;
5068612b175360889317ffea5826e816c2abbe08neil_a_wilsonimport org.opends.server.types.Modification;
5068612b175360889317ffea5826e816c2abbe08neil_a_wilsonimport org.opends.server.types.RawModification;
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson/**
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * This class defines a set of methods that are available for use by
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * post-synchronization plugins for modify operations. Note that this
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * interface is intended only to define an API for use by plugins and
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * is not intended to be implemented by any custom classes.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson */
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson@org.opends.server.types.PublicAPI(
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson stability=org.opends.server.types.StabilityLevel.UNCOMMITTED,
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson mayInstantiate=false,
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson mayExtend=false,
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson mayInvoke=true)
5068612b175360889317ffea5826e816c2abbe08neil_a_wilsonpublic interface PostSynchronizationModifyOperation
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson extends PostSynchronizationOperation
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson{
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson /**
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * Retrieves the raw, unprocessed entry DN as included in the client
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * request. The DN that is returned may or may not be a valid DN,
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * since no validation will have been performed upon it.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson *
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * @return The raw, unprocessed entry DN as included in the client
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * request.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson */
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson public ByteString getRawEntryDN();
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson /**
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * Retrieves the DN of the entry to modify.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson *
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * @return The DN of the entry to modify.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson */
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson public DN getEntryDN();
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson /**
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * Retrieves the set of raw, unprocessed modifications as included
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * in the client request. Note that this may contain one or more
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * invalid modifications, as no validation will have been performed
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * on this information. The list returned must not be altered by
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * the caller.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson *
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * @return The set of raw, unprocessed modifications as included
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * in the client request.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson */
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson public List<RawModification> getRawModifications();
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson /**
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * Retrieves the set of modifications for this modify operation.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson Its contents should not be altered.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson *
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * @return The set of modifications for this modify operation.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson */
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson public List<Modification> getModifications();
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson /**
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * Retrieves the current entry before any modifications are applied.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * It should not be modified by the caller.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson *
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * @return The current entry before any modifications are applied.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson */
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson public Entry getCurrentEntry();
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson /**
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * Retrieves the modified entry that is to be written to the
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * backend. It should not be modified by the caller.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson *
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * @return The modified entry that is to be written to the backend.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson */
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson public Entry getModifiedEntry();
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson /**
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * Retrieves the set of clear-text current passwords for the user,
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * if available. This will only be available if the modify
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * operation contains one or more delete elements that target the
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * password attribute and provide the values to delete in the clear.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * This list should not be altered by the caller.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson *
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * @return The set of clear-text current password values as
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * provided in the modify request, or <CODE>null</CODE> if
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * there were none.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson */
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson public List<AttributeValue> getCurrentPasswords();
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson /**
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * Retrieves the set of clear-text new passwords for the user, if
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * available. This will only be available if the modify operation
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * contains one or more add or replace elements that target the
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * password attribute and provide the values in the clear. This
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * list should not be altered by the caller.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson *
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * @return The set of clear-text new passwords as provided in the
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson * modify request, or <CODE>null</CODE> if there were none.
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson */
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson public List<AttributeValue> getNewPasswords();
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson}
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson