com.ca.jcs.converter.connector
Class DNAttributeConverter

java.lang.Object
  extended by com.ca.jcs.converter.attr.AttributeValueConverter
      extended by com.ca.jcs.converter.connector.DNAttributeConverter
All Implemented Interfaces:
AttributeConverter, ConnectorDependantAttributeConverter

public class DNAttributeConverter
extends AttributeValueConverter
implements ConnectorDependantAttributeConverter

Convert DNs (Distinguished Names) to/from connector-speak/LDAP, by making use of a reference to the connector itself. DNPropertyConverter should be used in preference to this class if there are multiple LDAP objectclasses sharing the same connector-speak naming attributes, in which case the objectclass of the objects referred to by the contained DNs needs to be explicitly spelled out.


Constructor Summary
DNAttributeConverter(DataModelProperty prop, DNConverterFactory dnConverterFactory)
           
DNAttributeConverter(DataModelProperty prop, DNConverterFactory dnConverterFactory, boolean lossy)
           
DNAttributeConverter(String ldapAttributeId, String[] ldapClassNames, String ldapNameOnlyClassName, boolean isIndirect, String assocRefKeyAttr, boolean isConnRelative, boolean testExists, boolean nameOnly, DNConverterFactory dnConverterFactory)
          Deprecated. 
 
Method Summary
 void checkSanity(MetaObjectClassMappings classMappings)
           
 MetaConnector getConnector()
           
 String[] getLdapClassNames()
           
 boolean isConnRelative()
           
 boolean isNameOnly()
           
 boolean isTestExists()
           
 void setMetaConnector(MetaConnector connector)
          Remember connector for this class, which includes setting the low-level DNConverter to an instance created by the registered DNConverterFactory (it can't be created until a live connector instance is available to delegate to).
 
Methods inherited from class com.ca.jcs.converter.attr.AttributeValueConverter
convertFromConnector, convertToConnector, getConverter, isLossy, isMultiValued, isStructural, setConverter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.ca.jcs.converter.attr.AttributeConverter
convertFromConnector, convertToConnector, getConverter, isLossy, isMultiValued, isStructural
 

Constructor Detail

DNAttributeConverter

public DNAttributeConverter(DataModelProperty prop,
                            DNConverterFactory dnConverterFactory)

DNAttributeConverter

public DNAttributeConverter(DataModelProperty prop,
                            DNConverterFactory dnConverterFactory,
                            boolean lossy)

DNAttributeConverter

@Deprecated
public DNAttributeConverter(String ldapAttributeId,
                                       String[] ldapClassNames,
                                       String ldapNameOnlyClassName,
                                       boolean isIndirect,
                                       String assocRefKeyAttr,
                                       boolean isConnRelative,
                                       boolean testExists,
                                       boolean nameOnly,
                                       DNConverterFactory dnConverterFactory)
Deprecated. 

Create converter where fromConnector DNs obey isConnRelative.

Parameters:
ldapAttributeId - Name of the attribute containing the DN values which need to be converted, which is not sufficient to be any kind of key as it's parent classMap is not know but is useful for log messages and establishing context nonetheless.
ldapClassNames - Names of LDAP objectclass referenced by contained DNs, can be null but only if no connector-speak naming attributes are shared by more then one LDAP objectclass (ie mappings between LDAP and connector-speck class names must be 1:1).
ldapNameOnlyClassName - If true specifies which class in ldapClassNames is represented as "name only" (there can be at most one).
isIndirect - True if association related to attr is indirect.
assocRefKeyAttr - Alternate key used to access referenced class, or null if naming attribute is used.
isConnRelative - True is DNs are relative rather then absolute.
testExists - True if DNs should be tested for existence by doing a doLookup() on each of them with LdapUtil.TEST_EXISTANCE_ATTRS.
nameOnly - True if only name of referenced object is stored on the endpoint rather then DN or RDN, note this implies the objects are either in a single flat top-level container.
dnConverterFactory - Factory used to create concrete converter when the class needs to be overridden,
Method Detail

getLdapClassNames

public String[] getLdapClassNames()

isConnRelative

public boolean isConnRelative()

isTestExists

public boolean isTestExists()

isNameOnly

public boolean isNameOnly()

checkSanity

public void checkSanity(MetaObjectClassMappings classMappings)
Specified by:
checkSanity in interface ConnectorDependantAttributeConverter

getConnector

public MetaConnector getConnector()
Specified by:
getConnector in interface ConnectorDependantAttributeConverter

setMetaConnector

public void setMetaConnector(MetaConnector connector)
Remember connector for this class, which includes setting the low-level DNConverter to an instance created by the registered DNConverterFactory (it can't be created until a live connector instance is available to delegate to).

Specified by:
setMetaConnector in interface ConnectorDependantAttributeConverter


Created 2011-07-14 13:27 EST