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, byte[]... values )
59 {
60 return new DefaultAttribute( name, values );
61 }
62
63
64 @Override
65 public Attribute newAttribute( String name, String... values )
66 {
67 return new DefaultAttribute( name, values );
68 }
69
70
71 @Override
72 public Attribute newAttribute( String name, Value<?>... values )
73 {
74 return new DefaultAttribute( name, values );
75 }
76
77
78 @Override
79 public DeleteRequest newDeleteRequest( Dn dn )
80 {
81 return new DeleteRequestImpl()
82 .setName( dn );
83 }
84
85
86 @Override
87 public Dn newDn( String dn )
88 {
89 try
90 {
91 return new Dn( dn );
92 }
93 catch ( LdapInvalidDnException e )
94 {
95 throw new LdapRuntimeException( e );
96 }
97 }
98
99
100 @Override
101 public Entry newEntry( String dn )
102 {
103 return newEntry( newDn( dn ) );
104 }
105
106
107 @Override
108 public Entry newEntry( Dn dn )
109 {
110 return new DefaultEntry( dn );
111 }
112
113
114 @Override
115 public ModifyRequest newModifyRequest( String dn )
116 {
117 return newModifyRequest( newDn( dn ) );
118 }
119
120
121 @Override
122 public ModifyRequest newModifyRequest( Dn dn )
123 {
124 return new ModifyRequestImpl().setName( dn );
125 }
126
127
128 @Override
129 public SearchRequest newSearchRequest( String baseDn, FilterBuilder filter,
130 SearchScope scope )
131 {
132 return newSearchRequest( newDn( baseDn ), filter.toString(), scope );
133 }
134
135
136 @Override
137 public SearchRequest newSearchRequest( String baseDn, String filter,
138 SearchScope scope )
139 {
140 return newSearchRequest( newDn( baseDn ), filter, scope );
141 }
142
143
144 @Override
145 public SearchRequest newSearchRequest( Dn baseDn, FilterBuilder filter,
146 SearchScope scope )
147 {
148 return newSearchRequest( baseDn, filter.toString(), scope, ( String[] ) null );
149 }
150
151
152 @Override
153 public SearchRequest newSearchRequest( Dn baseDn, String filter,
154 SearchScope scope )
155 {
156 return newSearchRequest( baseDn, filter, scope, ( String[] ) null );
157 }
158
159
160 @Override
161 public SearchRequest newSearchRequest( String baseDn, FilterBuilder filter,
162 SearchScope scope, String... attributes )
163 {
164 return newSearchRequest( newDn( baseDn ), filter.toString(), scope, attributes );
165 }
166
167
168 @Override
169 public SearchRequest newSearchRequest( String baseDn, String filter,
170 SearchScope scope, String... attributes )
171 {
172 return newSearchRequest( newDn( baseDn ), filter, scope, attributes );
173 }
174
175
176 @Override
177 public SearchRequest newSearchRequest( Dn baseDn, FilterBuilder filter,
178 SearchScope scope, String... attributes )
179 {
180 return newSearchRequest( baseDn, filter.toString(), scope, attributes );
181 }
182
183
184 @Override
185 public SearchRequest newSearchRequest( Dn baseDn, String filter,
186 SearchScope scope, String... attributes )
187 {
188 SearchRequest searchRequest = null;
189 try
190 {
191 searchRequest = new SearchRequestImpl()
192 .setBase( baseDn )
193 .setFilter( filter )
194 .setScope( scope == null ? SearchScope.OBJECT : scope );
195 if ( attributes != null && attributes.length > 0 )
196 {
197 searchRequest.addAttributes( attributes );
198 }
199 }
200 catch ( LdapException e )
201 {
202 throw new LdapRuntimeException( e );
203 }
204 return searchRequest;
205 }
206 }