com.ca.jcs.meta
Class MetaObjectClassMappings
java.lang.Object
com.ca.jcs.meta.MetaObjectClassMappings
public class MetaObjectClassMappings
- extends Object
Container for internalised information derived from the DataModel stored with a MetaConnectorType.
In most cases the instance of this class stored by a MetaConnector will be the exact instance
stored by its parent MetaConnectorType. However, when there are one more
ConnectorDependantAttributeConverter registered against DataModel properties, then this information in
this class must be cloned and configured specially for each concrete MetaConnector so that
the connectors can be wrapped up as tidy functors ready to be executed without requiring further arguments
to be provided to each conversion call.
|
Method Summary |
MetaObjectClassMapping |
getAccountClassMap()
|
Collection<MetaObjectClassMapping> |
getAllClassMappings()
|
MetaObjectClassMapping |
getClassMapFromAlias(String alias)
Look up mapping of alias to LDAP object class. |
MetaObjectClassMapping |
getClassMapFromConnectorName(String connClass)
Look up mapping for LDAP object class, after normalising its case. |
MetaObjectClassMapping |
getClassMapFromConnectorNamingAttrId(String connNamingAttr)
|
MetaObjectClassMapping |
getClassMapFromLdapName(String ldapClass)
Look up mapping for LDAP object class, after normalising it. |
MetaObjectClassMapping |
getClassMapFromLdapNamingAttrId(String ldapNamingAttr)
|
List<MetaObjectClassMapping> |
getClassMapsFromLdapAttrId(String ldapAttrId)
Returns any class mappings in getLdapClassMappings() which mention ldapAttrId. |
Collection<String> |
getClassNames()
|
MetaObjectClassMapping |
getConnectorClassMap()
|
Set<MetaObjectClassMapping> |
getConnectorNamingAttrClassMapsConflicted()
|
HashMap<String,List<MetaObjectClassMapping>> |
getConnectorNamingAttrToClassMappingConflicted()
|
ExprNode |
getConnectorNullFilter()
Returns equivalent filter to (objectclass=*) on managed system, given all
class names which are known to be mapped on the connector-side. |
boolean |
getHasConnectorDependantConverter()
At least one contained converter (in classmaps properties) implements
ConnectorDependantAttributeConverter. |
Collection<MetaObjectClassMapping> |
getLdapClassMappings()
|
Collection<String> |
getLdapClassNames()
Return names for all contained objectClasses visible via LDAP. |
HashMap<String,Set<MetaObjectClassMapping>> |
getLdapClassNameToChildTypes()
Calculates containment information for each class via childTypes at each containment level |
Set<MetaObjectClassMapping> |
getNestedChildTypes(MetaObjectClassMapping classMap,
boolean nestedChildTypes)
Traverse childTypes for the given class and all nested childTypes in its child classes
to come up with a set of all matching classMaps |
Set<MetaObjectClassMapping> |
getNestedChildTypes(String ldapClassName,
List<String> childTypes,
boolean nestedChildTypes)
|
MetaObjectClassMapping |
getSingleMapping()
|
String |
getUnresolvableConnNamingAttrIds()
|
String |
getUnresolvableConnObjClasses()
|
boolean |
isCaseSensitive()
|
boolean |
isConnectorNamingAttrIdClash()
|
void |
putClassMapFromAlias(String alias,
MetaObjectClassMapping mapping)
Store mapping of alias to an LDAP object class. |
void |
putClassMapFromConnectorName(String connClass,
MetaObjectClassMapping classMap)
Store classMap for connector-speak object class, after normalising it. |
void |
putClassMapFromConnectorNamingAttrId(String connNamingAttr,
MetaObjectClassMapping classMap)
|
void |
putClassMapFromLdapName(String ldapClass,
MetaObjectClassMapping mapping)
Store mapping for LDAP object class, after normalising it. |
void |
putClassMapFromLdapNamingAttrId(String ldapNamingAttr,
MetaObjectClassMapping classMap)
|
void |
setAccountClassMap(MetaObjectClassMapping accountClassMap)
|
void |
setConnectorClassMap(MetaObjectClassMapping connectorClassMap)
|
void |
setLdapClassNames(Collection<String> allClassNames)
For internal use only, sometimes need to add extra name, eg for virtual containers. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MetaObjectClassMappings
public MetaObjectClassMappings(boolean caseSensitive)
isCaseSensitive
public boolean isCaseSensitive()
getConnectorClassMap
public MetaObjectClassMapping getConnectorClassMap()
setConnectorClassMap
public void setConnectorClassMap(MetaObjectClassMapping connectorClassMap)
getAccountClassMap
public MetaObjectClassMapping getAccountClassMap()
setAccountClassMap
public void setAccountClassMap(MetaObjectClassMapping accountClassMap)
getHasConnectorDependantConverter
public boolean getHasConnectorDependantConverter()
- At least one contained converter (in classmaps properties) implements
ConnectorDependantAttributeConverter.
getClassMapFromLdapNamingAttrId
public MetaObjectClassMapping getClassMapFromLdapNamingAttrId(String ldapNamingAttr)
putClassMapFromLdapNamingAttrId
public void putClassMapFromLdapNamingAttrId(String ldapNamingAttr,
MetaObjectClassMapping classMap)
getClassMapFromConnectorNamingAttrId
public MetaObjectClassMapping getClassMapFromConnectorNamingAttrId(String connNamingAttr)
isConnectorNamingAttrIdClash
public boolean isConnectorNamingAttrIdClash()
putClassMapFromConnectorNamingAttrId
public void putClassMapFromConnectorNamingAttrId(String connNamingAttr,
MetaObjectClassMapping classMap)
getClassMapFromLdapName
public MetaObjectClassMapping getClassMapFromLdapName(String ldapClass)
- Look up mapping for LDAP object class, after normalising it.
getClassMapsFromLdapAttrId
public List<MetaObjectClassMapping> getClassMapsFromLdapAttrId(String ldapAttrId)
- Returns any class mappings in
getLdapClassMappings() which mention ldapAttrId.
putClassMapFromLdapName
public void putClassMapFromLdapName(String ldapClass,
MetaObjectClassMapping mapping)
- Store mapping for LDAP object class, after normalising it.
getClassMapFromConnectorName
public MetaObjectClassMapping getClassMapFromConnectorName(String connClass)
- Look up mapping for LDAP object class, after normalising its case.
putClassMapFromConnectorName
public void putClassMapFromConnectorName(String connClass,
MetaObjectClassMapping classMap)
- Store classMap for connector-speak object class, after normalising it.
putClassMapFromAlias
public void putClassMapFromAlias(String alias,
MetaObjectClassMapping mapping)
- Store mapping of alias to an LDAP object class.
getClassMapFromAlias
public MetaObjectClassMapping getClassMapFromAlias(String alias)
- Look up mapping of alias to LDAP object class.
setLdapClassNames
public void setLdapClassNames(Collection<String> allClassNames)
- For internal use only, sometimes need to add extra name, eg for virtual containers.
getLdapClassNames
public Collection<String> getLdapClassNames()
- Return names for all contained objectClasses visible via LDAP. Note that some extra virtual names may occur in this list
which don't have corresponding class mappings in
getLdapClassMappings(), for cases like
virtual containers etc which still need to take part in the filter scanning done by
ObjectClassVisitor.
- Returns:
- All names (including virtual ones).
getConnectorNullFilter
public ExprNode getConnectorNullFilter()
- Returns equivalent filter to
(objectclass=*) on managed system, given all
class names which are known to be mapped on the connector-side.
getUnresolvableConnObjClasses
public String getUnresolvableConnObjClasses()
- Returns:
- Message describing all connector-speak objectclass names that can not be
resolved to equivalent LDAP objectclass names because of clashes, or null if no
clashes exist.
getUnresolvableConnNamingAttrIds
public String getUnresolvableConnNamingAttrIds()
- Returns:
- Message describing all connector-speak naming attribute ids that can not be
resolved to their owning LDAP objectclass names because of clashes, or null if no
clashes exist.
getAllClassMappings
public Collection<MetaObjectClassMapping> getAllClassMappings()
- Returns:
- Collection of all
MetaObjectClassMappings
defined in this type's current metadata (including classes not visible directly from LDAP such as compound value classes).
getLdapClassMappings
public Collection<MetaObjectClassMapping> getLdapClassMappings()
- Returns:
- Collection of all
MetaObjectClassMappings
defined in this type's current metadata which are visible as top-level classes via LDAP, eg excluding compound value classes).
getSingleMapping
public MetaObjectClassMapping getSingleMapping()
- Returns:
- Single contained mapping is there is only one, otherwise fails assertion.
getConnectorNamingAttrToClassMappingConflicted
public HashMap<String,List<MetaObjectClassMapping>> getConnectorNamingAttrToClassMappingConflicted()
- Returns:
- clashing classMaps for naming attribute information
getConnectorNamingAttrClassMapsConflicted
public Set<MetaObjectClassMapping> getConnectorNamingAttrClassMapsConflicted()
- Returns:
- all clashing classMaps regardless of which naming attribute they clashed on
getNestedChildTypes
public Set<MetaObjectClassMapping> getNestedChildTypes(MetaObjectClassMapping classMap,
boolean nestedChildTypes)
- Traverse childTypes for the given class and all nested childTypes in its child classes
to come up with a set of all matching classMaps
- Parameters:
classMap -
- Returns:
getNestedChildTypes
public Set<MetaObjectClassMapping> getNestedChildTypes(String ldapClassName,
List<String> childTypes,
boolean nestedChildTypes)
getLdapClassNameToChildTypes
@NotNull
public HashMap<String,Set<MetaObjectClassMapping>> getLdapClassNameToChildTypes()
- Calculates containment information for each class via childTypes at each containment level
- Returns:
- Map indexed via LDAP class name containing a list of all childType class mappings
getClassNames
public Collection<String> getClassNames()
Created 2011-07-14 13:27 EST