General Design

Much of the design of Simple-JNDI is driven by the JNDI specification. The packages break down to the following list.

  • org.osjava.sj - Relatively backwards compatible JNDI implementation
  • org.osjava.sj.jndi - Utilities for implementing JNDI implementations
  • org.osjava.sj.loader - Loader system for loading data from a filesystem into a JNDI implementation
  • org.osjava.sj.loader.util - Generic utilities to assist with the loading implementation
  • org.osjava.sj.loader.convert - Conversion API when loading
  • org.osjava.sj.memory - In-memory JNDI implementation
  • org.osjava.sj.naming - Utilities for talking to JNDI servers

Currently the loader loads all the data into a JNDI implementation recursively in one go from the file system. Loaders that load just-in-time, and support HTTP and the Classpath are on the TODO list.

org.osjava.sj.jndi.AbstractContext is a generic super-class that should prove useful in creating JNDI implementations.

org.osjava.sj.jndi.DelegatingContext is a super-class designed to make it easy to put a filter (such as SimpleContext) in front of a JNDI implementation.