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 org.apache.ldap.server.invocation.Invocation} on {@link BackingStore#move(Name, 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 MoveAndModifyRN extends Invocation
33 {
34 private static final long serialVersionUID = 3258135751786248245L;
35
36 private Name name;
37
38 private Name newParentName;
39
40 private final String newRelativeName;
41
42 private final boolean deleteOldName;
43
44
45 public MoveAndModifyRN( Name name, Name newParentName, String newRelativeName,
46 boolean deleteOldName )
47 {
48 if ( name == null )
49 {
50 throw new NullPointerException( "name" );
51 }
52 if ( newParentName == null )
53 {
54 throw new NullPointerException( "newParentName" );
55 }
56 if ( newRelativeName == null )
57 {
58 throw new NullPointerException( "newRelativeName" );
59 }
60
61 this.name = name;
62
63 this.newParentName = newParentName;
64
65 this.newRelativeName = newRelativeName;
66
67 this.deleteOldName = deleteOldName;
68 }
69
70
71 public Name getName()
72 {
73 return name;
74 }
75
76
77 public Name getNewParentName()
78 {
79 return newParentName;
80 }
81
82
83 public String getNewRelativeName()
84 {
85 return newRelativeName;
86 }
87
88
89 public boolean isDeleteOldName()
90 {
91 return deleteOldName;
92 }
93
94
95 protected Object doExecute( BackingStore store ) throws NamingException
96 {
97 store.move( name, newParentName, newRelativeName, deleteOldName );
98
99 return null;
100 }
101
102
103 public void setName( Name name )
104 {
105 this.name = name;
106 }
107
108
109 public void setNewParentName( Name newParentName )
110 {
111 this.newParentName = newParentName;
112 }
113 }