Class LDAPDatabase<E extends IDBObj>


  • public abstract class LDAPDatabase<E extends IDBObj>
    extends Database<E>
    This class implements LDAP database.
    Author:
    Endi S. Dewata
    • Constructor Summary

      Constructors 
      Constructor Description
      LDAPDatabase​(java.lang.String name, IDBSubsystem dbSubsystem, java.lang.String baseDN, java.lang.Class<E> recordType)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void addRecord​(java.lang.String id, E record)  
      abstract java.lang.String createDN​(java.lang.String id)  
      void createFilter​(java.lang.StringBuilder sb, java.util.Map<java.lang.String,​java.lang.String> attributes)  
      abstract java.lang.String createFilter​(java.lang.String keyword, java.util.Map<java.lang.String,​java.lang.String> attributes)  
      IDBAttrMapper createMapper​(java.lang.Class<?> attrType, DBAttribute dbAttribute)  
      java.util.Collection<E> findRecords​(java.lang.String keyword)
      Find records matching filter
      java.util.Collection<E> findRecords​(java.lang.String keyword, java.util.Map<java.lang.String,​java.lang.String> attributes)
      Search for LDAP records with the specified keyword and attributes.
      IDBVirtualList<E> findRecords​(java.lang.String keyword, java.util.Map<java.lang.String,​java.lang.String> attributes, java.lang.String[] sortKeys, int pageSize)  
      E getRecord​(java.lang.String id)  
      void register​(java.lang.Class<E> recordType)  
      void removeRecord​(java.lang.String id)  
      void updateRecord​(java.lang.String id, E record)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • logger

        public static org.slf4j.Logger logger
      • baseDN

        public java.lang.String baseDN
      • recordType

        public java.lang.Class<E extends IDBObj> recordType
    • Method Detail

      • createDN

        public abstract java.lang.String createDN​(java.lang.String id)
      • createFilter

        public abstract java.lang.String createFilter​(java.lang.String keyword,
                                                      java.util.Map<java.lang.String,​java.lang.String> attributes)
      • createFilter

        public void createFilter​(java.lang.StringBuilder sb,
                                 java.util.Map<java.lang.String,​java.lang.String> attributes)
      • findRecords

        public java.util.Collection<E> findRecords​(java.lang.String keyword)
                                            throws java.lang.Exception
        Description copied from class: Database
        Find records matching filter
        Overrides:
        findRecords in class Database<E extends IDBObj>
        Throws:
        java.lang.Exception
      • findRecords

        public java.util.Collection<E> findRecords​(java.lang.String keyword,
                                                   java.util.Map<java.lang.String,​java.lang.String> attributes)
                                            throws java.lang.Exception
        Search for LDAP records with the specified keyword and attributes. The keyword parameter will be used to search with wildcards on certain attributes. The attributes parameter will be used to find exact matches of the specified attributes.
        Throws:
        java.lang.Exception
      • findRecords

        public IDBVirtualList<E> findRecords​(java.lang.String keyword,
                                             java.util.Map<java.lang.String,​java.lang.String> attributes,
                                             java.lang.String[] sortKeys,
                                             int pageSize)
                                      throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getRecord

        public E getRecord​(java.lang.String id)
                    throws java.lang.Exception
        Overrides:
        getRecord in class Database<E extends IDBObj>
        Throws:
        java.lang.Exception
      • addRecord

        public void addRecord​(java.lang.String id,
                              E record)
                       throws java.lang.Exception
        Overrides:
        addRecord in class Database<E extends IDBObj>
        Throws:
        java.lang.Exception
      • updateRecord

        public void updateRecord​(java.lang.String id,
                                 E record)
                          throws java.lang.Exception
        Overrides:
        updateRecord in class Database<E extends IDBObj>
        Throws:
        java.lang.Exception
      • removeRecord

        public void removeRecord​(java.lang.String id)
                          throws java.lang.Exception
        Overrides:
        removeRecord in class Database<E extends IDBObj>
        Throws:
        java.lang.Exception