wt.query.qml
Class ReferenceJoinInfo

java.lang.Object
  extended bywt.query.qml.JoinInfo
      extended bywt.query.qml.ReferenceJoinInfo
All Implemented Interfaces:
RemoteAccess

public class ReferenceJoinInfo
extends JoinInfo
implements RemoteAccess


Field Summary
private static Class[] METHOD_ARG_TYPES
           
 
Fields inherited from class wt.query.qml.JoinInfo
LATEST, OBJECT_ID, OBJECT_REFERENCE, VERSION_ID, VERSION_REFERENCE
 
Fields inherited from interface wt.method.RemoteAccess
versionID
 
Constructor Summary
ReferenceJoinInfo()
           
 
Method Summary
private static Hashtable _buildLinkMap(Vector classesA, Class classB, Hashtable links, Locale a_locale)
           
static Hashtable _buildLinkMap(Vector classesA, String classB, Hashtable links, Locale a_locale)
           
protected  Hashtable buildLinkMap(Vector classesA, String classB, Hashtable a_linkMap, Locale a_locale)
          Builds a Hashtable of valid join information using introspection.
protected  Hashtable buildLinkMap(Vector a_classes, String a_classA, String a_classB, Locale a_locale)
           
 Vector filterLinks(String fromClass, Vector links, Locale a_locale)
           
private static Class getConstrainedType(PropertyDescriptor a_propertyDescriptor)
           
protected  Hashtable postProcessLinkMap(Hashtable a_linkMap, Locale a_locale)
          Perform any necessary link map post-processing.
 
Methods inherited from class wt.query.qml.JoinInfo
buildLinkMap, buildLinkMap, buildLinkMap, buildLinks, buildLinks, buildLinkVector, getLinkJoinInfo, getReferenceJoinInfo, isAssignableFrom, isAssignableFrom, loadClasses, validateLink
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

METHOD_ARG_TYPES

private static final Class[] METHOD_ARG_TYPES
Constructor Detail

ReferenceJoinInfo

public ReferenceJoinInfo()
Method Detail

buildLinkMap

protected Hashtable buildLinkMap(Vector a_classes,
                                 String a_classA,
                                 String a_classB,
                                 Locale a_locale)
                          throws WTException
Specified by:
buildLinkMap in class JoinInfo
Throws:
WTException

buildLinkMap

protected Hashtable buildLinkMap(Vector classesA,
                                 String classB,
                                 Hashtable a_linkMap,
                                 Locale a_locale)
                          throws WTException
Builds a Hashtable of valid join information using introspection. A join is specified via a classB property which has a type that is a valid reference sub-class. If the property is constrained to reference a specific type, then the classesA vector is checked to ensure that a type compatible class exists.

Specified by:
buildLinkMap in class JoinInfo
Parameters:
classesA - classes to check
classB - class to check
a_linkMap - existing map to add join properties to
a_locale - Locale for display names
Returns:
Hashtable where keys are the join property name and the elements are the ClassInfo of the property type
Throws:
WTException

_buildLinkMap

public static Hashtable _buildLinkMap(Vector classesA,
                                      String classB,
                                      Hashtable links,
                                      Locale a_locale)
                               throws WTException,
                                      ClassNotFoundException
Throws:
WTException
ClassNotFoundException

_buildLinkMap

private static Hashtable _buildLinkMap(Vector classesA,
                                       Class classB,
                                       Hashtable links,
                                       Locale a_locale)
                                throws WTException
Throws:
WTException

filterLinks

public Vector filterLinks(String fromClass,
                          Vector links,
                          Locale a_locale)
                   throws WTException
Throws:
WTException

postProcessLinkMap

protected Hashtable postProcessLinkMap(Hashtable a_linkMap,
                                       Locale a_locale)
                                throws WTException
Perform any necessary link map post-processing.

Specified by:
postProcessLinkMap in class JoinInfo
Throws:
WTException

getConstrainedType

private static Class getConstrainedType(PropertyDescriptor a_propertyDescriptor)
                                 throws WTException
Throws:
WTException