1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.ldap.server.invocation;
18
19
20 import org.apache.ldap.server.BackingStore;
21
22 import javax.naming.Name;
23 import javax.naming.NamingException;
24
25
26 /***
27 * Represents an {@link Invocation} on {@link BackingStore#modifyRn(Name, String, boolean)}.
28 *
29 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
30 * @version $Rev: 159467 $, $Date: 2005-03-30 02:38:30 -0500 (Wed, 30 Mar 2005) $
31 */
32 public class ModifyRN extends Invocation
33 {
34 private static final long serialVersionUID = 3257849883007465528L;
35
36 private Name name;
37
38 private final String newRelativeName;
39
40 private final boolean deleteOldName;
41
42
43 public ModifyRN( Name name, String newRelativeName,
44 boolean deleteOldName )
45 {
46 if ( name == null )
47 {
48 throw new NullPointerException( "name" );
49 }
50
51 if ( newRelativeName == null )
52 {
53 throw new NullPointerException( "newRelativeName" );
54 }
55
56 this.name = name;
57
58 this.newRelativeName = newRelativeName;
59
60 this.deleteOldName = deleteOldName;
61 }
62
63
64 public Name getName()
65 {
66 return name;
67 }
68
69
70 public String getNewRelativeName()
71 {
72 return newRelativeName;
73 }
74
75
76 public boolean isDeleteOldName()
77 {
78 return deleteOldName;
79 }
80
81
82 protected Object doExecute( BackingStore store ) throws NamingException
83 {
84 store.modifyRn( name, newRelativeName, deleteOldName );
85
86 return null;
87 }
88
89
90 public void setName( Name name )
91 {
92 this.name = name;
93 }
94 }