View Javadoc
1   /*
2    *   Licensed to the Apache Software Foundation (ASF) under one
3    *   or more contributor license agreements.  See the NOTICE file
4    *   distributed with this work for additional information
5    *   regarding copyright ownership.  The ASF licenses this file
6    *   to you under the Apache License, Version 2.0 (the
7    *   "License"); you may not use this file except in compliance
8    *   with the License.  You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   *   Unless required by applicable law or agreed to in writing,
13   *   software distributed under the License is distributed on an
14   *   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   *   KIND, either express or implied.  See the License for the
16   *   specific language governing permissions and limitations
17   *   under the License.
18   *
19   */
20  package org.apache.directory.ldap.client.template;
21  
22  
23  import org.apache.directory.api.ldap.model.entry.Attribute;
24  import org.apache.directory.api.ldap.model.entry.Entry;
25  import org.apache.directory.api.ldap.model.entry.Value;
26  import org.apache.directory.api.ldap.model.message.AddRequest;
27  import org.apache.directory.api.ldap.model.message.DeleteRequest;
28  import org.apache.directory.api.ldap.model.message.ModifyRequest;
29  import org.apache.directory.api.ldap.model.message.SearchRequest;
30  import org.apache.directory.api.ldap.model.message.SearchScope;
31  import org.apache.directory.api.ldap.model.name.Dn;
32  
33  
34  /**
35   * A factory for creating {@link org.apache.directory.api.ldap.model} objects.
36   *
37   * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
38   */
39  public interface ModelFactory
40  {
41      public AddRequest newAddRequest( Entry entry );
42  
43  
44      public Attribute newAttribute( String name, byte[]... values );
45      
46      
47      public Attribute newAttribute( String name, String... values );
48      
49      
50      public Attribute newAttribute( String name, Value<?>... values );
51  
52  
53      public DeleteRequest newDeleteRequest( Dn dn );
54  
55  
56      public Dn newDn( String dn );
57  
58  
59      public Entry newEntry( String dn );
60  
61  
62      public Entry newEntry( Dn dn );
63  
64  
65      public ModifyRequest newModifyRequest( String dn );
66  
67  
68      public ModifyRequest newModifyRequest( Dn dn );
69  
70  
71      public SearchRequest newSearchRequest( String baseDn, String filter,
72          SearchScope scope );
73  
74  
75      public SearchRequest newSearchRequest( Dn baseDn, String filter,
76          SearchScope scope );
77  
78  
79      public SearchRequest newSearchRequest( String baseDn, String filter,
80          SearchScope scope, String... attributes );
81  
82  
83      public SearchRequest newSearchRequest( Dn baseDn, String filter,
84          SearchScope scope, String... attributes );
85  }