1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.directory.ldap.client.template;
21
22 import org.apache.directory.api.ldap.model.entry.Attribute;
23 import org.apache.directory.api.ldap.model.entry.DefaultAttribute;
24 import org.apache.directory.api.ldap.model.entry.DefaultEntry;
25 import org.apache.directory.api.ldap.model.entry.Entry;
26 import org.apache.directory.api.ldap.model.entry.Value;
27 import org.apache.directory.api.ldap.model.exception.LdapException;
28 import org.apache.directory.api.ldap.model.exception.LdapInvalidDnException;
29 import org.apache.directory.api.ldap.model.message.AddRequest;
30 import org.apache.directory.api.ldap.model.message.AddRequestImpl;
31 import org.apache.directory.api.ldap.model.message.DeleteRequest;
32 import org.apache.directory.api.ldap.model.message.DeleteRequestImpl;
33 import org.apache.directory.api.ldap.model.message.ModifyRequest;
34 import org.apache.directory.api.ldap.model.message.ModifyRequestImpl;
35 import org.apache.directory.api.ldap.model.message.SearchRequest;
36 import org.apache.directory.api.ldap.model.message.SearchRequestImpl;
37 import org.apache.directory.api.ldap.model.message.SearchScope;
38 import org.apache.directory.api.ldap.model.name.Dn;
39 import org.apache.directory.ldap.client.api.search.FilterBuilder;
40 import org.apache.directory.ldap.client.template.exception.LdapRuntimeException;
41
42
43
44
45
46
47
48 class ModelFactoryImpl implements ModelFactory
49 {
50 @Override
51 public AddRequest newAddRequest( Entry entry )
52 {
53 return new AddRequestImpl().setEntry( entry );
54 }
55
56
57 @Override
58 public Attribute newAttribute( String name )
59 {
60 return new DefaultAttribute( name );
61 }
62
63
64 @Override
65 public Attribute newAttribute( String name, byte[]... values )
66 {
67 return new DefaultAttribute( name, values );
68 }
69
70
71 @Override
72 public Attribute newAttribute( String name, String... values )
73 {
74 return new DefaultAttribute( name, values );
75 }
76
77
78 @Override
79 public Attribute newAttribute( String name, Value<?>... values )
80 {
81 return new DefaultAttribute( name, values );
82 }
83
84
85 @Override
86 public DeleteRequest newDeleteRequest( Dn dn )
87 {
88 return new DeleteRequestImpl()
89 .setName( dn );
90 }
91
92
93 @Override
94 public Dn newDn( String dn )
95 {
96 try
97 {
98 return new Dn( dn );
99 }
100 catch ( LdapInvalidDnException e )
101 {
102 throw new LdapRuntimeException( e );
103 }
104 }
105
106
107 @Override
108 public Entry newEntry( String dn )
109 {
110 return newEntry( newDn( dn ) );
111 }
112
113
114 @Override
115 public Entry newEntry( Dn dn )
116 {
117 return new DefaultEntry( dn );
118 }
119
120
121 @Override
122 public ModifyRequest newModifyRequest( String dn )
123 {
124 return newModifyRequest( newDn( dn ) );
125 }
126
127
128 @Override
129 public ModifyRequest newModifyRequest( Dn dn )
130 {
131 return new ModifyRequestImpl().setName( dn );
132 }
133
134
135 @Override
136 public SearchRequest newSearchRequest( String baseDn, FilterBuilder filter,
137 SearchScope scope )
138 {
139 return newSearchRequest( newDn( baseDn ), filter.toString(), scope );
140 }
141
142
143 @Override
144 public SearchRequest newSearchRequest( String baseDn, String filter,
145 SearchScope scope )
146 {
147 return newSearchRequest( newDn( baseDn ), filter, scope );
148 }
149
150
151 @Override
152 public SearchRequest newSearchRequest( Dn baseDn, FilterBuilder filter,
153 SearchScope scope )
154 {
155 return newSearchRequest( baseDn, filter.toString(), scope, ( String[] ) null );
156 }
157
158
159 @Override
160 public SearchRequest newSearchRequest( Dn baseDn, String filter,
161 SearchScope scope )
162 {
163 return newSearchRequest( baseDn, filter, scope, ( String[] ) null );
164 }
165
166
167 @Override
168 public SearchRequest newSearchRequest( String baseDn, FilterBuilder filter,
169 SearchScope scope, String... attributes )
170 {
171 return newSearchRequest( newDn( baseDn ), filter.toString(), scope, attributes );
172 }
173
174
175 @Override
176 public SearchRequest newSearchRequest( String baseDn, String filter,
177 SearchScope scope, String... attributes )
178 {
179 return newSearchRequest( newDn( baseDn ), filter, scope, attributes );
180 }
181
182
183 @Override
184 public SearchRequest newSearchRequest( Dn baseDn, FilterBuilder filter,
185 SearchScope scope, String... attributes )
186 {
187 return newSearchRequest( baseDn, filter.toString(), scope, attributes );
188 }
189
190
191 @Override
192 public SearchRequest newSearchRequest( Dn baseDn, String filter,
193 SearchScope scope, String... attributes )
194 {
195 SearchRequest searchRequest = null;
196 try
197 {
198 searchRequest = new SearchRequestImpl()
199 .setBase( baseDn )
200 .setFilter( filter )
201 .setScope( scope == null ? SearchScope.OBJECT : scope );
202 if ( attributes != null && attributes.length > 0 )
203 {
204 searchRequest.addAttributes( attributes );
205 }
206 }
207 catch ( LdapException e )
208 {
209 throw new LdapRuntimeException( e );
210 }
211 return searchRequest;
212 }
213 }