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 import javax.naming.directory.Attributes;
25
26
27 /***
28 * Represents an {@link Invocation} on {@link BackingStore#add(String, Name, Attributes)}.
29 *
30 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
31 * @version $Rev: 159467 $, $Date: 2005-03-30 02:38:30 -0500 (Wed, 30 Mar 2005) $
32 */
33 public class Add extends Invocation
34 {
35 private static final long serialVersionUID = 3258131362430333495L;
36
37 private final String userProvidedName;
38
39 private Name normalizedName;
40
41 private final Attributes attributes;
42
43
44 public Add( String userProvidedName, Name normalizedName, Attributes attributes )
45 {
46 if ( userProvidedName == null )
47 {
48 throw new NullPointerException( "userProvidedName" );
49 }
50
51 if ( normalizedName == null )
52 {
53 throw new NullPointerException( "normalizedName" );
54 }
55
56 if ( attributes == null )
57 {
58 throw new NullPointerException( "attributes" );
59 }
60
61 this.userProvidedName = userProvidedName;
62
63 this.normalizedName = normalizedName;
64
65 this.attributes = attributes;
66 }
67
68
69 public Attributes getAttributes()
70 {
71 return attributes;
72 }
73
74
75 public Name getNormalizedName()
76 {
77 return normalizedName;
78 }
79
80
81 public void setNormalizedName( Name normalizedName )
82 {
83 this.normalizedName = normalizedName;
84 }
85
86
87 public String getUserProvidedName()
88 {
89 return userProvidedName;
90 }
91
92
93 protected Object doExecute( BackingStore store ) throws NamingException
94 {
95 store.add( userProvidedName, normalizedName, attributes );
96
97 return null;
98 }
99 }