View Javadoc

1   /*
2    * Copyright (C) The Apache Software Foundation. All rights reserved.
3    *
4    * This software is published under the terms of the Apache Software License
5    * version 1.1, a copy of which has been included with this distribution in
6    * the LICENSE file.
7    */
8   package org.apache.avalon.excalibur.naming;
9   
10  import javax.naming.Context;
11  import javax.naming.Name;
12  import javax.naming.Binding;
13  import javax.naming.NameClassPair;
14  import javax.naming.NameParser;
15  import javax.naming.NamingException;
16  
17  /***
18   * The underlying communication interface for remote contexts.
19   *
20   * @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
21   * @version $Revision: 1.2 $
22   */
23  public interface NamingProvider
24  {
25      NameParser getNameParser()
26          throws NamingException, Exception;
27  
28      void bind( Name name, String className, Object object )
29          throws NamingException, Exception;
30  
31      void rebind( Name name, String className, Object object )
32          throws NamingException, Exception;
33  
34      Context createSubcontext( Name name )
35          throws NamingException, Exception;
36  
37      void destroySubcontext( Name name )
38          throws NamingException, Exception;
39  
40      NameClassPair[] list( Name name )
41          throws NamingException, Exception;
42  
43      Binding[] listBindings( Name name )
44          throws NamingException, Exception;
45  
46      Object lookup( Name name )
47          throws NamingException, Exception;
48  
49      void unbind( Name name )
50          throws NamingException, Exception;
51  }