Skip navigation links

Oracle Virtual Directory Java API Reference
11g Release 1 (11.1.1)

E56472-01


com.octetstring.vde.backend
Class BackendHandler

java.lang.Object
  extended by com.octetstring.vde.backend.BackendHandler


public class BackendHandler
extends java.lang.Object

The BackendHandler is responsible for determining which backend (or backends) need to be called to provide or store information.

Author:
Octet String, Inc.

Field Summary
static java.lang.String ADAP_NAME_ROOT
           
static java.lang.String ADAP_NAME_SCHEMA
           
 java.lang.String adbindAdapter
           
static DirectoryString ALL_ATTRIBUTES
           
static DirectoryString ALL_OPERATIONAL_ATTRIBUTES
           
static java.lang.String CLASS_ROOT_ADAPTER
           
static java.lang.String CLASS_SCHEMA_ADAPTER
           

 

Method Summary
 com.asn1c.core.Int8 add(java.util.HashMap<java.lang.Object,java.lang.Object> request, Credentials creds, Entry entry, com.asn1c.core.Int8 results)
          The add method checks schema, performs access control, locates an appropriate adapter for the change, and submits the add request to that backend.
 void addAdapter(java.lang.String name)
          Creates an adapter that has been added to the configuration
 void addAdapter(java.lang.String adapterName, int beCount)
           
 void addReplica(DirectoryString suffix, com.octetstring.vde.replication.Consumer con)
           
 boolean bind(java.util.HashMap<java.lang.Object,java.lang.Object> request, Credentials creds, DirectoryString dn, BinarySyntax password, com.asn1c.core.Bool res)
          Passes a DN and Password to the appropriate adapter.
 void checkLock()
           
 void clearReplicas()
           
 com.asn1c.core.Int8 delete(java.util.HashMap<java.lang.Object,java.lang.Object> request, Credentials creds, DirectoryString name, com.asn1c.core.Int8 results)
          Checks access, locates an appropriate adapter, and passes a delete request to that adapter.
 void disableAdapter(java.lang.String name, boolean nice, boolean removeFromContext, boolean keepCritical)
          Disables the named adapter
 void enableAdapter(java.lang.String adapterName)
          Enables a currently disabled adapter
static void filterAttributes(Chain chain, Credentials creds, com.octetstring.vde.acl.ACLChecker aclChecker, Entry entry, java.util.List<DirectoryString> returnAttributes)
           
 java.util.Vector<EntrySet> get(java.util.HashMap<java.lang.Object,java.lang.Object> request, Credentials creds, DirectoryString base, int scope, Filter filter, boolean typesOnly, java.util.Vector<DirectoryString> attributes, java.util.Vector<EntrySet> results)
          Finds the appropriate adapters to perform searches against and passes the appropriate information to those adapters.
 Adapter getAdapter(java.lang.String name)
           
 Adapter getBackendRoot()
           
 Adapter getBackendSchema()
           
 java.util.Vector<EntryChangesListener> getEntryChangeListeners()
           
static BackendHandler getInstance()
          The getInstance() method returns an instance of the BackendHandler class.
 com.octetstring.vde.replication.Consumer getReplica(DirectoryString normalizedDN)
           
 java.lang.String getReplicaUser(DirectoryString dn)
           
 DistinguishedName getRootUser()
           
 java.util.List<RoutingRule> getSystemRoutingRules()
           
static void init()
           
 void lockWrites()
           
 void modify(java.util.HashMap<java.lang.Object,java.lang.Object> request, Credentials creds, DirectoryString name, java.util.Vector<EntryChange> changeEntries)
          Checks access control, schema, and finds an appropriate adapter to submit the change to.
 Entry postSearch(Credentials creds, Entry original, java.util.Vector<DirectoryString> returnAttrs, Filter filter, int scope, DirectoryString base)
           
 Entry postSearch(Credentials creds, Entry original, java.util.Vector<DirectoryString> returnAttrs, Filter filter, int scope, DirectoryString base, boolean checkACLs, boolean removeAttributes)
           
 void registerBackend(Adapter backend, boolean isSystem)
          Registers an adapter for a particular branch of the virtual directory tree.
 void registerEntryChangesListener(EntryChangesListener entryChangesListener)
          Registers an EntryChangesListener with the BackendHandler.
 void reloadDynamicConfig()
           
 void removeAdapter(java.lang.String name, boolean nice)
           
 com.asn1c.core.Int8 rename(java.util.HashMap<java.lang.Object,java.lang.Object> request, Credentials creds, DirectoryString oldname, DirectoryString newname, DirectoryString newsuffix, boolean removeoldrdn, com.asn1c.core.Int8 results)
          Checks access control, finds the appropriate adapter or adapters and either does the rename by calling add/delete on two adapters or passing a rename request to a single adapter.
 void renameAdapter(java.lang.String name, java.lang.String newName, boolean nice)
          Replaces a currently running adapter with one that has been set in the configuration
 void replaceAdapter(java.lang.String name, boolean nice)
          Replaces a currently running adapter with one that has been set in the configuration
static void reset(boolean nice)
           
 void setEmUser(DistinguishedName dn)
           
 void setRootUser(DistinguishedName dn)
           
 void shutDown(boolean nice)
           
 int simpleBindSpecialCases(DirectoryString dn, BinarySyntax password)
           
 void unbind(Credentials creds)
           
 void unlockWrites()
           

 

Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Field Detail

ADAP_NAME_ROOT

public static final java.lang.String ADAP_NAME_ROOT
See Also:
Constant Field Values

ADAP_NAME_SCHEMA

public static final java.lang.String ADAP_NAME_SCHEMA
See Also:
Constant Field Values

CLASS_ROOT_ADAPTER

public static final java.lang.String CLASS_ROOT_ADAPTER
See Also:
Constant Field Values

CLASS_SCHEMA_ADAPTER

public static final java.lang.String CLASS_SCHEMA_ADAPTER
See Also:
Constant Field Values

ALL_ATTRIBUTES

public static final DirectoryString ALL_ATTRIBUTES

ALL_OPERATIONAL_ATTRIBUTES

public static final DirectoryString ALL_OPERATIONAL_ATTRIBUTES

adbindAdapter

public java.lang.String adbindAdapter

Method Detail

getSystemRoutingRules

public java.util.List<RoutingRule> getSystemRoutingRules()

reloadDynamicConfig

public void reloadDynamicConfig()
                         throws DirectoryException
Throws:
DirectoryException

addAdapter

public void addAdapter(java.lang.String name)
                throws java.lang.Exception
Creates an adapter that has been added to the configuration
Parameters:
name - The name of the adapter to add
Throws:
java.lang.Exception

addAdapter

public void addAdapter(java.lang.String adapterName,
                       int beCount)
                throws java.lang.Exception
Throws:
java.lang.Exception

addReplica

public void addReplica(DirectoryString suffix,
                       com.octetstring.vde.replication.Consumer con)

clearReplicas

public void clearReplicas()

getReplicaUser

public java.lang.String getReplicaUser(DirectoryString dn)

getRootUser

public DistinguishedName getRootUser()

setRootUser

public void setRootUser(DistinguishedName dn)

setEmUser

public void setEmUser(DistinguishedName dn)

getReplica

public com.octetstring.vde.replication.Consumer getReplica(DirectoryString normalizedDN)

getInstance

public static BackendHandler getInstance()
The getInstance() method returns an instance of the BackendHandler class. Since this class is designed using a Singleton pattern, only one instance of this class will ever exist.
Returns:
the BackendHandler instance

init

public static void init()
                 throws DirectoryException
Throws:
DirectoryException

reset

public static void reset(boolean nice)

getEntryChangeListeners

public java.util.Vector<EntryChangesListener> getEntryChangeListeners()

lockWrites

public void lockWrites()

unlockWrites

public void unlockWrites()

checkLock

public void checkLock()

getBackendRoot

public Adapter getBackendRoot()

getBackendSchema

public Adapter getBackendSchema()

getAdapter

public Adapter getAdapter(java.lang.String name)

add

public com.asn1c.core.Int8 add(java.util.HashMap<java.lang.Object,java.lang.Object> request,
                               Credentials creds,
                               Entry entry,
                               com.asn1c.core.Int8 results)
                        throws DirectorySchemaViolation,
                               DirectoryException,
                               ChainException
The add method checks schema, performs access control, locates an appropriate adapter for the change, and submits the add request to that backend. On success also passes the change to any registered EntryChangeListener.
Parameters:
creds - Credentials object containing the credentials of the user performing the add request.
entry - an Entry object
Returns:
a Int8 value
Throws:
DirectorySchemaViolation - if schema checking fails
DirectoryException
ChainException

bind

public boolean bind(java.util.HashMap<java.lang.Object,java.lang.Object> request,
                    Credentials creds,
                    DirectoryString dn,
                    BinarySyntax password,
                    com.asn1c.core.Bool res)
             throws DirectoryException,
                    ChainException
Passes a DN and Password to the appropriate adapter.
Parameters:
dn - a DirectoryString value
password - a BinarySyntax value
Returns:
a boolean value, true if bind is successful
Throws:
DirectoryException
ChainException

simpleBindSpecialCases

public int simpleBindSpecialCases(DirectoryString dn,
                                  BinarySyntax password)

delete

public com.asn1c.core.Int8 delete(java.util.HashMap<java.lang.Object,java.lang.Object> request,
                                  Credentials creds,
                                  DirectoryString name,
                                  com.asn1c.core.Int8 results)
                           throws DirectoryException,
                                  ChainException
Checks access, locates an appropriate adapter, and passes a delete request to that adapter. On success, also submits change to an EntryChangeListener.
Parameters:
creds - a Credentials object
name - a DirectoryString value with the DN to delete
Returns:
a Int8 value
Throws:
DirectoryException
ChainException

get

public java.util.Vector<EntrySet> get(java.util.HashMap<java.lang.Object,java.lang.Object> request,
                                      Credentials creds,
                                      DirectoryString base,
                                      int scope,
                                      Filter filter,
                                      boolean typesOnly,
                                      java.util.Vector<DirectoryString> attributes,
                                      java.util.Vector<EntrySet> results)
                               throws DirectoryException,
                                      ChainException
Finds the appropriate adapters to perform searches against and passes the appropriate information to those adapters.
Parameters:
binddn - a DirectoryString value
base - a DirectoryString value
scope - an int value
filter - a Filter value
typesOnly - a boolean value
attributes - a Vector value
Returns:
a Vector value
Throws:
DirectoryException - if an error occurs
ChainException

modify

public void modify(java.util.HashMap<java.lang.Object,java.lang.Object> request,
                   Credentials creds,
                   DirectoryString name,
                   java.util.Vector<EntryChange> changeEntries)
            throws DirectoryException
Checks access control, schema, and finds an appropriate adapter to submit the change to. On success, also publishes any change to listeners.
Parameters:
creds - a Credentials value
name - a DirectoryString value
changeEntries - a Vector value
Throws:
DirectoryException - if an error occurs

registerBackend

public void registerBackend(Adapter backend,
                            boolean isSystem)
                     throws InvalidDNException
Registers an adapter for a particular branch of the virtual directory tree.
Parameters:
backend - a Backend value
Throws:
InvalidDNException

registerEntryChangesListener

public void registerEntryChangesListener(EntryChangesListener entryChangesListener)
Registers an EntryChangesListener with the BackendHandler.
Parameters:
entryChangesListener - an EntryChangesListener value

rename

public com.asn1c.core.Int8 rename(java.util.HashMap<java.lang.Object,java.lang.Object> request,
                                  Credentials creds,
                                  DirectoryString oldname,
                                  DirectoryString newname,
                                  DirectoryString newsuffix,
                                  boolean removeoldrdn,
                                  com.asn1c.core.Int8 results)
                           throws ChainException,
                                  DirectoryException
Checks access control, finds the appropriate adapter or adapters and either does the rename by calling add/delete on two adapters or passing a rename request to a single adapter.
Parameters:
creds - a Credentials object
oldname - a DirectoryString value
newname - a DirectoryString value
newsuffix - a DirectoryString value
removeoldrdn - a boolean value
Returns:
a Int8 value
Throws:
DirectoryException - if an error occurs
ChainException

unbind

public void unbind(Credentials creds)

postSearch

public Entry postSearch(Credentials creds,
                        Entry original,
                        java.util.Vector<DirectoryString> returnAttrs,
                        Filter filter,
                        int scope,
                        DirectoryString base)

postSearch

public Entry postSearch(Credentials creds,
                        Entry original,
                        java.util.Vector<DirectoryString> returnAttrs,
                        Filter filter,
                        int scope,
                        DirectoryString base,
                        boolean checkACLs,
                        boolean removeAttributes)

filterAttributes

public static void filterAttributes(Chain chain,
                                    Credentials creds,
                                    com.octetstring.vde.acl.ACLChecker aclChecker,
                                    Entry entry,
                                    java.util.List<DirectoryString> returnAttributes)

disableAdapter

public void disableAdapter(java.lang.String name,
                           boolean nice,
                           boolean removeFromContext,
                           boolean keepCritical)
                    throws java.lang.Exception
Disables the named adapter
Throws:
java.lang.Exception

shutDown

public void shutDown(boolean nice)

enableAdapter

public void enableAdapter(java.lang.String adapterName)
                   throws java.lang.Exception
Enables a currently disabled adapter
Throws:
java.lang.Exception

replaceAdapter

public void replaceAdapter(java.lang.String name,
                           boolean nice)
                    throws java.lang.Exception
Replaces a currently running adapter with one that has been set in the configuration
Throws:
java.lang.Exception

renameAdapter

public void renameAdapter(java.lang.String name,
                          java.lang.String newName,
                          boolean nice)
                   throws java.lang.Exception
Replaces a currently running adapter with one that has been set in the configuration
Throws:
java.lang.Exception

removeAdapter

public void removeAdapter(java.lang.String name,
                          boolean nice)
                   throws java.lang.Exception
Throws:
java.lang.Exception

Skip navigation links

Oracle Virtual Directory Java API Reference
11g Release 1 (11.1.1)

E56472-01


Copyright © 2000-2015 Oracle and/or its affiliates. All Rights Reserved.