001 /*
002 * CDDL HEADER START
003 *
004 * The contents of this file are subject to the terms of the
005 * Common Development and Distribution License, Version 1.0 only
006 * (the "License"). You may not use this file except in compliance
007 * with the License.
008 *
009 * You can obtain a copy of the license at
010 * trunk/opends/resource/legal-notices/OpenDS.LICENSE
011 * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
012 * See the License for the specific language governing permissions
013 * and limitations under the License.
014 *
015 * When distributing Covered Code, include this CDDL HEADER in each
016 * file and include the License file at
017 * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
018 * add the following below this CDDL HEADER, with the fields enclosed
019 * by brackets "[]" replaced with your own identifying information:
020 * Portions Copyright [yyyy] [name of copyright owner]
021 *
022 * CDDL HEADER END
023 *
024 *
025 * Copyright 2006-2008 Sun Microsystems, Inc.
026 */
027 package org.opends.server.types.operation;
028
029
030
031 import org.opends.server.types.ByteString;
032
033
034
035 /**
036 * This class defines a set of methods that are available for use by
037 * pre-parse plugins for modify DN operations. Note that this
038 * interface is intended only to define an API for use by plugins and
039 * is not intended to be implemented by any custom classes.
040 */
041 @org.opends.server.types.PublicAPI(
042 stability=org.opends.server.types.StabilityLevel.UNCOMMITTED,
043 mayInstantiate=false,
044 mayExtend=false,
045 mayInvoke=true)
046 public interface PreParseModifyDNOperation
047 extends PreParseOperation
048 {
049 /**
050 * Retrieves the raw, unprocessed entry DN as included in the client
051 * request. The DN that is returned may or may not be a valid DN,
052 * since no validation will have been performed upon it.
053 *
054 * @return The raw, unprocessed entry DN as included in the client
055 * request.
056 */
057 public ByteString getRawEntryDN();
058
059
060
061 /**
062 * Specifies the raw, unprocessed entry DN as included in the client
063 * request. This should only be called by pre-parse plugins.
064 *
065 * @param rawEntryDN The raw, unprocessed entry DN as included in
066 * the client request.
067 */
068 public void setRawEntryDN(ByteString rawEntryDN);
069
070
071
072 /**
073 * Retrieves the raw, unprocessed newRDN as included in the request
074 * from the client. This may or may not contain a valid RDN, as no
075 * validation will have been performed on it.
076 *
077 * @return The raw, unprocessed newRDN as included in the request
078 * from the client.
079 */
080 public ByteString getRawNewRDN();
081
082
083
084 /**
085 * Specifies the raw, unprocessed newRDN as included in the request
086 * from the client. This should only be called by pre-parse plugins
087 * and should not be used in later stages of processing.
088 *
089 * @param rawNewRDN The raw, unprocessed newRDN as included in the
090 * request from the client.
091 */
092 public void setRawNewRDN(ByteString rawNewRDN);
093
094
095
096 /**
097 * Indicates whether the current RDN value should be removed from
098 * the entry.
099 *
100 * @return <CODE>true</CODE> if the current RDN value should be
101 * removed from the entry, or <CODE>false</CODE> if not.
102 */
103 public boolean deleteOldRDN();
104
105
106
107 /**
108 * Specifies whether the current RDN value should be removed from
109 * the entry.
110 *
111 * @param deleteOldRDN Specifies whether the current RDN value
112 * should be removed from the entry.
113 */
114 public void setDeleteOldRDN(boolean deleteOldRDN);
115
116
117
118 /**
119 * Retrieves the raw, unprocessed newSuperior from the client
120 * request. This may or may not contain a valid DN, as no
121 * validation will have been performed on it.
122 *
123 * @return The raw, unprocessed newSuperior from the client
124 * request, or <CODE>null</CODE> if there is none.
125 */
126 public ByteString getRawNewSuperior();
127
128
129
130 /**
131 * Specifies the raw, unprocessed newSuperior for this modify DN
132 * operation, as provided in the request from the client. This
133 * method should only be called by pre-parse plugins.
134 *
135 * @param rawNewSuperior The raw, unprocessed newSuperior as
136 * provided in the request from the client.
137 */
138 public void setRawNewSuperior(ByteString rawNewSuperior);
139 }
140