Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • OpenCMIS
    Code Block
    Map<String, String> params = ...; // URL, user, password
    Session session = sessionFactory.createSession(parameters);
    

Internal layer hierarchy (OpenCMIS)

(All classes and interfaces in bold are for public use. Everything else belongs to the internal machinery.)

  • Session
    Main interface of the client API.
  • SessionFactory
    Interface of the session factory class.
  • SessionFactoryImpl
    Factory class that creates Session objects from a given configuration.
  • PersistentSessionImpl
    Implementation of the Session interface that follows the persistent model. Should be created with SessionFactoryImpl.
  • TransientSessionImpl (does not exist, yet)
    Implementation of the Session interface that follows the transient model. Should be created with SessionFactoryImpl.
  • CmisProviderHelper
    Internal helper class that creates a CmisProvider object. It contains code that is shared by PersistentSessionImpl and TransientSessionImpl. It shouldn't be used by anybody else.
  • CmisProvider
    The low-level client interface.
  • CmisProviderImpl
    Implementation of the low-level client interface.
  • CmisProviderFactory
    Factory class for CmisProvider objects. Although CmisProviderImpl can be instantiated directly, this factory sets some reasonable defaults and does a sanity check on the configuration. It is recommended to use this factory to create a CmisProvider object.
  • CmisSpi
    Interface of the binding implementations. This interface is only interesting for binding developers. Applications use the CmisProvider or Session interfaces that hide the binding.
  • CmisAtomPubSpi
    AtomPub binding implementation.
  • CmisWebServicesSpi
    Web Services binding implementation.

From an application point of view it easy to use:

  • If you want to use the client API, create a Session object with SessionFactoryImpl and don't bother about the rest.
  • If you want to use the low-level provider API, create a CmisProvider object with CmisProviderFactory and don't bother about the rest.

High-level APIs

From a connection/session you can get the root folder and express high-level operations

...