com.ca.jcs.converter.connector
Class DNConverter

java.lang.Object
  extended by com.ca.jcs.converter.connector.DNConverter
All Implemented Interfaces:
Converter
Direct Known Subclasses:
DNNormalizeConverter

public class DNConverter
extends Object
implements Converter

Convert DNs (Distinguished Names) to/from connector-speak/LDAP, by making use of a reference to the connector itself. Settings can be configured for:

  1. MetaDataDefs.MD_IS_DN_ABSOLUTE: whether the DNs are relative/absolute.
  2. MetaDataDefs.MD_DN_TEST_EXISTS: whether the objects referred to each DN must exist.
  3. MetaDataDefs.MD_DN_LDAP_OBJECT_CLASS: for specifying the leaf MetaObjectClassMapping referred to by all contained DNs (mandatory when connector-speak naming attribute ids to LDAP objectclass mapping is ambiguous).
  4. MetaDataDefs.MD_DN_NAME_ONLY can be used for flat (non-hierarchical) connectors to specify that only names (rather then RDNs) should be stored on the endpoint to represent an association, for instance "fred" should be stored rather then "namingAttr=fred".


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.ca.jcs.converter.core.Converter
Converter.ConverterFlag
 
Field Summary
protected  MetaConnector connector
           
protected  boolean connRelative
           
protected  boolean isIndirect
           
protected  boolean isSimpleKeyAssoc
           
protected  String ldapAttributeId
           
protected  MetaObjectClassMapping ldapClassMap
           
protected  String ldapNameOnlyClassName
          MD_DN_NAME_ONLY_LDAP_OBJECTCLASS value, denotes which class in classMaps (when multiple present) is to be treated as nameOnly
protected  boolean nameOnly
           
protected  boolean testExists
           
 
Constructor Summary
DNConverter(MetaConnector connector, String ldapAttributeId, List<MetaObjectClassMapping> classMaps, Map<String,MetaObjectClassMapping> namingAttrToClassMap, String ldapNameOnlyClassName, boolean isIndirect, String assocRefKeyAttr, boolean connRelative, boolean testExists, boolean nameOnly)
          Deprecated. 
DNConverter(MetaConnector connector, String ldapClassName, String ldapAttributeId, List<MetaObjectClassMapping> classMaps, Map<String,MetaObjectClassMapping> namingAttrToClassMap, String ldapNameOnlyClassName, boolean isIndirect, String assocRefKeyAttr, boolean connRelative, boolean testExists, boolean nameOnly)
           
 
Method Summary
 Object convertFromConnector(Object connLdapVal)
          Convert connector-speak DN to LDAP DN
 Object convertToConnector(Converter.ConverterFlag flag, String ldapVal)
          Convert to connector with additional context, for instance when converting values found in rule expressions.
 Object convertToConnector(String ldapDnStr)
          Convert LDAP DN to connector-speak DN
protected  boolean isNameOnlyClass(MetaObjectClassMapping resolvedClassMap)
          Check if a given classMap corresponds to the known 'nameOnly' class
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

connector

protected final MetaConnector connector

ldapAttributeId

protected final String ldapAttributeId

ldapClassMap

protected final MetaObjectClassMapping ldapClassMap

isIndirect

protected final boolean isIndirect

connRelative

protected final boolean connRelative

testExists

protected final boolean testExists

nameOnly

protected final boolean nameOnly

isSimpleKeyAssoc

protected final boolean isSimpleKeyAssoc

ldapNameOnlyClassName

protected final String ldapNameOnlyClassName
MD_DN_NAME_ONLY_LDAP_OBJECTCLASS value, denotes which class in classMaps (when multiple present) is to be treated as nameOnly

Constructor Detail

DNConverter

public DNConverter(MetaConnector connector,
                   String ldapClassName,
                   String ldapAttributeId,
                   List<MetaObjectClassMapping> classMaps,
                   Map<String,MetaObjectClassMapping> namingAttrToClassMap,
                   String ldapNameOnlyClassName,
                   boolean isIndirect,
                   String assocRefKeyAttr,
                   boolean connRelative,
                   boolean testExists,
                   boolean nameOnly)

DNConverter

@Deprecated
public DNConverter(MetaConnector connector,
                              String ldapAttributeId,
                              List<MetaObjectClassMapping> classMaps,
                              Map<String,MetaObjectClassMapping> namingAttrToClassMap,
                              String ldapNameOnlyClassName,
                              boolean isIndirect,
                              String assocRefKeyAttr,
                              boolean connRelative,
                              boolean testExists,
                              boolean nameOnly)
Deprecated. 

Method Detail

convertToConnector

public Object convertToConnector(String ldapDnStr)
Convert LDAP DN to connector-speak DN

Specified by:
convertToConnector in interface Converter
Parameters:
ldapDnStr -
Returns:

convertToConnector

public Object convertToConnector(Converter.ConverterFlag flag,
                                 String ldapVal)
Description copied from interface: Converter
Convert to connector with additional context, for instance when converting values found in rule expressions.

Specified by:
convertToConnector in interface Converter

convertFromConnector

public Object convertFromConnector(Object connLdapVal)
Convert connector-speak DN to LDAP DN

Specified by:
convertFromConnector in interface Converter
Parameters:
connLdapVal -
Returns:

isNameOnlyClass

protected boolean isNameOnlyClass(MetaObjectClassMapping resolvedClassMap)
Check if a given classMap corresponds to the known 'nameOnly' class

Parameters:
resolvedClassMap -
Returns:


Created 2011-07-14 13:27 EST