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 © 2003, 2004 Novell, Inc. All rights reserved. Copyright © 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.