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