Writing a Custom Naming DataStore

This section describes the APIs for writing a custom implementation to store NameService state.

 DataStore

package com.sssw.jbroker.api.naming;
 
import org.omg.CosNaming.NamingContextPackage.NotEmpty;
 
public interface DataStore
{
    NamingContextData getContext(byte[] objectId);
 
    void createContext(byte[] objectId, NamingContext context);
 
    void destroyContext(byte[] objectId) throws NotEmpty;

    void setRootContext(NamingContext context);

    NamingContext getRootContext();
}

NamingContext Data

package com.sssw.jbroker.api.naming;
 
import org.omg.CORBA.Object;
 
import org.omg.CosNaming.Binding;
import org.omg.CosNaming.NameComponent;
import org.omg.CosNaming.NamingContextPackage.AlreadyBound;
 
public interface NamingContextData
{
    BindingData getBindingData(NameComponent nc);
 
    void addBinding(NameComponent nc, Object obj, boolean isContext,
        boolean isGroup) throws AlreadyBound;
 
    BindingData removeBinding(NameComponent nc);
 
    Binding[] listBindings();
 
    boolean isEmpty();
 
    byte[] getObjectId();
}

Binding Data

package com.sssw.jbroker.api.naming;
 
import org.omg.CORBA.Object;
 
public interface BindingData
{
    Object getObject();
 
    boolean isContext();
}

Copyright © 1998-2003, Novell, Inc. All rights reserved.