Package com.ribs.datasource
Class RMXMLMapMaker
- java.lang.Object
-
- com.ribs.datasource.RMXMLMapMaker
-
public class RMXMLMapMaker extends java.lang.Object
This 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.String
PROPERTY_TYPE_BINARY
static java.lang.String
PROPERTY_TYPE_BOOLEAN
static java.lang.String
PROPERTY_TYPE_DATE
static java.lang.String
PROPERTY_TYPE_NUMBER
static java.lang.String
PROPERTY_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.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).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).RMSchema
getSchema(java.util.Map aMap)
This code returns an RMSchema for a given object graph of Java primatives (Map, List, String, Number, Date).boolean
ignore(java.lang.String aName)
Returns whether map-maker should ignore any member with the given name.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).void
ignoreClass(java.lang.Class aClass)
Tells map-maker to ignore any members encountered with the given class.void
ignoreClass(java.lang.String aClassName)
Tells map-maker to ignore any members encountered with the given class (by class name).void
ignoreMember(java.lang.String aName)
Tells map-maker to ignore any members encountered with the given name.boolean
isVerbose()
Returns whether map maker logs calls to methods.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).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.void
setUseGetAndIsMethodsOnly(boolean aFlag)
Sets whether RM only explores getXXX accessor methods (as opposed to any method returning a value).void
setUseShortClassNames(boolean aFlag)
Returns whether map-maker should make schema prettier by not using fully specified class names.void
setVerbose(boolean aFlag)
Sets whether map maker logs calls to methods.boolean
useGetAndIsMethodsOnly()
Returns whether RM only explores getXXX accessor methods (as opposed to any method returning a value).boolean
useShortClassNames()
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).
-
-