/*
* Copyright (C) The Spice Group. All rights reserved.
*
* This software is published under the terms of the Spice
* Software License version 1.1, a copy of which has been included
* with this distribution in the LICENSE.txt file.
*/
package org.realityforge.spice.jndikit;
import javax.naming.Binding;
import javax.naming.Context;
import javax.naming.Name;
import javax.naming.NameClassPair;
import javax.naming.NameParser;
import javax.naming.NamingException;
/**
* The underlying communication interface for remote contexts.
*/
public interface NamingProvider
{
NameParser getNameParser()
throws NamingException, Exception;
void bind( Name name, String className, Object object )
throws NamingException, Exception;
void rebind( Name name, String className, Object object )
throws NamingException, Exception;
Context createSubcontext( Name name )
throws NamingException, Exception;
void destroySubcontext( Name name )
throws NamingException, Exception;
NameClassPair[] list( Name name )
throws NamingException, Exception;
Binding[] listBindings( Name name )
throws NamingException, Exception;
Object lookup( Name name )
throws NamingException, Exception;
void unbind( Name name )
throws NamingException, Exception;
}