com.groiss.ldap
Class ClassMapping

java.lang.Object
  extended by com.groiss.ldap.ClassMapping

public class ClassMapping
extends java.lang.Object

Maps a Java Class to an LDAP Object Class. Is part of a schema mapping. Provides accessors to field values of a mapped object.


Constructor Summary
ClassMapping(SchemaMapping sm)
          Constructs a class mapping and adds it to the provided schema mapping.
 
Method Summary
 void add(AttributeMapping am)
          Adds an attribute mapping to this class mapping
 void addSubLink(SubLink subLink)
          Add a sublink to this class mapping
 AttributeMapping getAttMappingByAttName(java.lang.String name)
          Returns the attribute mapping with the specified attribute name
 AttributeMapping getAttMappingByFieldName(java.lang.String name)
          Returns the attribute mapping with the specified field name
 int getAttributeCount()
          Returns the number of attribute mappings of this class mapping
 java.util.Iterator<AttributeMapping> getAttributeIterator()
          Returns an iterator for the attribute mappings of this class mapping
 java.lang.String getClassSubContext()
          Returns the RDN of the subcontext of this class mapping
 java.lang.String getClassSubContextAtt()
          Returns the name of the LDAP attribute which designates the subcontext
 java.lang.String getClassSubContextVal()
          Returns the value of the LDAP attribute which designates the subcontext
 java.lang.reflect.Field getField(java.lang.String fieldName)
          Get a field by its name.
 java.lang.Object getFieldContent(Persistent o, java.lang.String fieldName)
          Gets the content of an objects field by the fields name.
 java.util.Map<java.lang.String,java.lang.reflect.Field> getFields()
          Returns the fields of the java class.
 java.lang.String getJavaClassName()
          Returns the name of the Java class this mapping is for.
 java.lang.String getObjectClass()
          Returns the name of the most specific LDAP Object class
 java.lang.String[] getObjectClasses()
          Return the set of LDAP object classes for this mapping
 java.lang.String getRDNAttName()
          Returns the name of the LDAP attribute which designates the relative distinguished name (RDN)
 java.lang.Object getRDNAttValue(Persistent o)
          Returns the value of the RDN of an object
 SchemaMapping getSm()
          Returns the schema mapping this class mapping belongs to
 java.util.ArrayList<SubLink> getSubLinks()
          Returns the sublinks of this class mapping
 void setClassSubContext(java.lang.String classSubContext)
          Set the sub context for this class mapping.
 void setJavaClassName(java.lang.String javaClassName)
          Set the class name of the java class for this mapping.
 void setObjectClasses(java.lang.String[] objectClasses)
          Set the names of the LDAP Object classes for this class mapping.
 void setRDNAttName(java.lang.String rDNAttName)
          Set the name of the LDAP attribute which designates the relative distinguished name (RDN)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassMapping

public ClassMapping(SchemaMapping sm)
Constructs a class mapping and adds it to the provided schema mapping.

Parameters:
sm - the schema mapping to which the schema mapping is added
Method Detail

getSm

public SchemaMapping getSm()
Returns the schema mapping this class mapping belongs to

Returns:
the schema mapping this class mapping belongs to

add

public void add(AttributeMapping am)
Adds an attribute mapping to this class mapping

Parameters:
am - the attribute mapping to add

getAttMappingByAttName

public AttributeMapping getAttMappingByAttName(java.lang.String name)
Returns the attribute mapping with the specified attribute name

Parameters:
name - the attribute name of the mapping to look up
Returns:
the attribute mapping if one is found, null otherwise

getAttMappingByFieldName

public AttributeMapping getAttMappingByFieldName(java.lang.String name)
Returns the attribute mapping with the specified field name

Parameters:
name - the field name of the mapping to look up
Returns:
the attribute mapping if one is found, null otherwise

getAttributeIterator

public java.util.Iterator<AttributeMapping> getAttributeIterator()
Returns an iterator for the attribute mappings of this class mapping

Returns:
an iterator for the attribute mappings of this class mapping

getAttributeCount

public int getAttributeCount()
Returns the number of attribute mappings of this class mapping

Returns:
the number of attribute mappings of this class mapping

getJavaClassName

public java.lang.String getJavaClassName()
Returns the name of the Java class this mapping is for.

Returns:
the name of the Java class this mapping is for.

setJavaClassName

public void setJavaClassName(java.lang.String javaClassName)
                      throws java.lang.Exception
Set the class name of the java class for this mapping. Also the fields of the java class are set.

Parameters:
javaClassName - the class name
Throws:
java.lang.Exception - thrown when the class is not found or cannot be instantiated

getFields

public java.util.Map<java.lang.String,java.lang.reflect.Field> getFields()
Returns the fields of the java class.

Returns:
a Map which maps fieldnames to java.lang.reflect.Field objects

getField

public java.lang.reflect.Field getField(java.lang.String fieldName)
                                 throws java.lang.Exception
Get a field by its name.

Parameters:
fieldName - the name of the field to get
Returns:
the field
Throws:
java.lang.Exception

getFieldContent

public java.lang.Object getFieldContent(Persistent o,
                                        java.lang.String fieldName)
                                 throws java.lang.IllegalAccessException
Gets the content of an objects field by the fields name. The object must be an instance of the java class specified for this class mapping.

Parameters:
o - The object which field content should be gotten.
fieldName - the name of the field
Returns:
the content of the objects field.
Throws:
java.lang.IllegalAccessException

addSubLink

public void addSubLink(SubLink subLink)
Add a sublink to this class mapping

Parameters:
subLink - the sublink to add

getSubLinks

public java.util.ArrayList<SubLink> getSubLinks()
Returns the sublinks of this class mapping

Returns:
an arrayList of SubLink objects of this class mapping

setObjectClasses

public void setObjectClasses(java.lang.String[] objectClasses)
Set the names of the LDAP Object classes for this class mapping. Must be ordered from least specific to most specific class. e.g. "top","person","organizationalPerson"

Parameters:
objectClasses -

getObjectClasses

public java.lang.String[] getObjectClasses()
Return the set of LDAP object classes for this mapping

Returns:
the names of the LDAP object classes this mapping is for

getObjectClass

public java.lang.String getObjectClass()
Returns the name of the most specific LDAP Object class

Returns:
the name of the most specific LDAP Object class

setRDNAttName

public void setRDNAttName(java.lang.String rDNAttName)
Set the name of the LDAP attribute which designates the relative distinguished name (RDN)

Parameters:
rDNAttName - the name of the attribute whose value is the RDN

getRDNAttName

public java.lang.String getRDNAttName()
Returns the name of the LDAP attribute which designates the relative distinguished name (RDN)

Returns:
the name of the LDAP attribute which designates the relative distinguished name (RDN)

getRDNAttValue

public java.lang.Object getRDNAttValue(Persistent o)
                                throws java.lang.Exception
Returns the value of the RDN of an object

Parameters:
o - the object to get the value from. Must be an instance of the java class of this class mapping
Returns:
the value of the RDN of the object
Throws:
java.lang.Exception

setClassSubContext

public void setClassSubContext(java.lang.String classSubContext)
Set the sub context for this class mapping. e.g. "ou=People"

Parameters:
classSubContext - the RDN of the context for this class mapping

getClassSubContext

public java.lang.String getClassSubContext()
Returns the RDN of the subcontext of this class mapping

Returns:
the RDN of the subcontext of this class mapping

getClassSubContextAtt

public java.lang.String getClassSubContextAtt()
Returns the name of the LDAP attribute which designates the subcontext

Returns:
the name of the LDAP attribute which designates the subcontext

getClassSubContextVal

public java.lang.String getClassSubContextVal()
Returns the value of the LDAP attribute which designates the subcontext

Returns:
the value of the LDAP attribute which designates the subcontext


@enterprise 8.0.22989 Copyright © 2001-2017 Groiss Informatics GmbH. All Rights Reserved.