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