Package com.ribs.datasource
Class RMXMLMapMaker
- java.lang.Object
-
- com.ribs.datasource.RMXMLMapMaker
-
public class RMXMLMapMaker extends java.lang.ObjectThis class abstracts an object (or object graph) into core Java types (Map, List, String Number, Boolean, Date and byte[]) via Java reflection/introspection. This is done recursively (through any non-core types), so a whole object graph can be abstracted. This allows ReportMill to import a representation of an object/object-graph, potentially made up of custom Java classes or EJBs, without the original classes being present.Copyright (c) 2002 ReportMill Software, Inc. All Rights Reserved. This code may be used free of charge as long as this message remains. Contact Jeff Martin
.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringPROPERTY_TYPE_BINARYstatic java.lang.StringPROPERTY_TYPE_BOOLEANstatic java.lang.StringPROPERTY_TYPE_DATEstatic java.lang.StringPROPERTY_TYPE_NUMBERstatic java.lang.StringPROPERTY_TYPE_STRING
-
Constructor Summary
Constructors Constructor Description RMXMLMapMaker()Creates a plain map-maker instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ObjectconvertFromAppServerType(java.lang.Object anObj)This is an override hook to convert object relations to List/Map if they are otherwise (eg, WebObjects/NSArray).java.lang.StringgetClassName(java.lang.Object anObj)Returns a className for an Object whether String or Class (may trim class name according to _useShortClassNames).RMSchemagetSchema(java.util.Map aMap)This code returns an RMSchema for a given object graph of Java primatives (Map, List, String, Number, Date).booleanignore(java.lang.String aName)Returns whether map-maker should ignore any member with the given name.booleanignore_super(java.lang.String aName)Returns whether map-maker should ignore any member with the given name (provided as a potential over-ride hook).voidignoreClass(java.lang.Class aClass)Tells map-maker to ignore any members encountered with the given class.voidignoreClass(java.lang.String aClassName)Tells map-maker to ignore any members encountered with the given class (by class name).voidignoreMember(java.lang.String aName)Tells map-maker to ignore any members encountered with the given name.booleanisVerbose()Returns whether map maker logs calls to methods.java.util.MapmakeMap(java.lang.Object anObj)Core method to abstract anObject into Java Collections and Java core types (degree of separation is 3).java.util.MapmakeMap(java.lang.Object anObj, int degreeOfSeparation)Core method to abstract anObject into Java Collections and Java core types with a given degree of separation.voidsetUseGetAndIsMethodsOnly(boolean aFlag)Sets whether RM only explores getXXX accessor methods (as opposed to any method returning a value).voidsetUseShortClassNames(boolean aFlag)Returns whether map-maker should make schema prettier by not using fully specified class names.voidsetVerbose(boolean aFlag)Sets whether map maker logs calls to methods.booleanuseGetAndIsMethodsOnly()Returns whether RM only explores getXXX accessor methods (as opposed to any method returning a value).booleanuseShortClassNames()Returns whether map-maker should make schema prettier by not using fully specified class names.
-
-
-
Field Detail
-
PROPERTY_TYPE_STRING
public static final java.lang.String PROPERTY_TYPE_STRING
- See Also:
- Constant Field Values
-
PROPERTY_TYPE_NUMBER
public static final java.lang.String PROPERTY_TYPE_NUMBER
- See Also:
- Constant Field Values
-
PROPERTY_TYPE_BOOLEAN
public static final java.lang.String PROPERTY_TYPE_BOOLEAN
- See Also:
- Constant Field Values
-
PROPERTY_TYPE_DATE
public static final java.lang.String PROPERTY_TYPE_DATE
- See Also:
- Constant Field Values
-
PROPERTY_TYPE_BINARY
public static final java.lang.String PROPERTY_TYPE_BINARY
- See Also:
- Constant Field Values
-
-
Method Detail
-
useGetAndIsMethodsOnly
public boolean useGetAndIsMethodsOnly()
Returns whether RM only explores getXXX accessor methods (as opposed to any method returning a value).
-
setUseGetAndIsMethodsOnly
public void setUseGetAndIsMethodsOnly(boolean aFlag)
Sets whether RM only explores getXXX accessor methods (as opposed to any method returning a value).
-
isVerbose
public boolean isVerbose()
Returns whether map maker logs calls to methods.
-
setVerbose
public void setVerbose(boolean aFlag)
Sets whether map maker logs calls to methods.
-
useShortClassNames
public boolean useShortClassNames()
Returns whether map-maker should make schema prettier by not using fully specified class names.
-
setUseShortClassNames
public void setUseShortClassNames(boolean aFlag)
Returns whether map-maker should make schema prettier by not using fully specified class names.
-
ignoreClass
public void ignoreClass(java.lang.Class aClass)
Tells map-maker to ignore any members encountered with the given class.
-
ignoreClass
public void ignoreClass(java.lang.String aClassName)
Tells map-maker to ignore any members encountered with the given class (by class name).
-
ignoreMember
public void ignoreMember(java.lang.String aName)
Tells map-maker to ignore any members encountered with the given name.
-
ignore
public boolean ignore(java.lang.String aName)
Returns whether map-maker should ignore any member with the given name.
-
ignore_super
public boolean ignore_super(java.lang.String aName)
Returns whether map-maker should ignore any member with the given name (provided as a potential over-ride hook).
-
convertFromAppServerType
public java.lang.Object convertFromAppServerType(java.lang.Object anObj)
This is an override hook to convert object relations to List/Map if they are otherwise (eg, WebObjects/NSArray).
-
makeMap
public java.util.Map makeMap(java.lang.Object anObj)
Core method to abstract anObject into Java Collections and Java core types (degree of separation is 3).
-
makeMap
public java.util.Map makeMap(java.lang.Object anObj, int degreeOfSeparation)Core method to abstract anObject into Java Collections and Java core types with a given degree of separation.
-
getSchema
public RMSchema getSchema(java.util.Map aMap)
This code returns an RMSchema for a given object graph of Java primatives (Map, List, String, Number, Date).
-
getClassName
public java.lang.String getClassName(java.lang.Object anObj)
Returns a className for an Object whether String or Class (may trim class name according to _useShortClassNames).
-
-