|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object | +--com.businessobjects.samples.pojo.POJOResultSetFactory
Provides "Plain Old Java Object" reporting abilities, allowing users' application domain objects to be used directly for report generation via result sets. Only simple tables are currently supported. By default, reflection is used, such that for the domain class, all class field and methods are traversed, and all members for which shouldReport() is true are included in the result set. Class members with non-reportable data are quietly ignored. Assumes all public fields, and all no-argument public methods that return a reportable type, should be included in the report. Super classes are also processed up to but not including java.lang.Object. For domain classes that are actually interfaces, the entire interface hierarchy is traversed.
| Constructor Summary | |
POJOResultSetFactory(java.lang.Class domainClass)
|
|
| Method Summary | |
POJOResultSet |
createResultSet(java.util.Collection domainData)
Creates a result set from the domain data, using report fields as implied by the domain class. |
POJOResultSet |
createResultSet(java.lang.Object[] domainData)
|
java.lang.String |
defaultColumnNameOf(java.lang.reflect.Field field)
Returns the default column name to used to identify the Java field. |
java.lang.String |
defaultColumnNameOf(java.lang.reflect.Method method,
java.lang.String[] prefixes)
Returns the default column name to use for the Java method. |
java.lang.Class |
domainClass()
Specifies the domain class being analyzed. |
java.lang.String[] |
getExcludedMembers()
Describes the fields or methods to explicitly |
java.lang.String[] |
getExplicitMembers()
If non-empty, describes the explicit set of class members that are desired for use in the result set, overriding the default member processing. |
java.lang.String[] |
getIncludedMembers()
Describes the fields or methods to explicitly include in the report, in addition to those picked up by the normal processing rules. |
java.lang.String[] |
getIncludedMethodPrefixes()
Returns the set of prefixes that specify what methods to consider. |
int |
getMemberColumnDisplaySize(java.lang.String memberName,
java.lang.Class columnType)
Returns number of characters needed to display the member's values. |
java.lang.String |
getMemberColumnLabel(java.lang.String memberName)
Specifies the value to use for column label associated with the member. |
java.lang.String |
getMemberColumnName(java.lang.String memberName)
Specifies the value to use for column name associated with the member. |
int |
getMemberColumnPrecision(java.lang.String memberName,
java.lang.Class columnType)
Returns number of digits of precision needed to display the member's values. |
int |
getMemberColumnScale(java.lang.String memberName,
java.lang.Class columnType)
Returns number of digits to the right of the decimal point to use for this member's values. |
POJOResultSetMetaData |
getMetaData()
Returns a result set meta data description of the domain class, using result set columns as implied by the domain class' "reportable" fields and methods. |
java.lang.String |
getTableName()
Specifies the table name to use in the result set. |
static boolean |
isBoolean(java.lang.Class type)
|
static boolean |
isByte(java.lang.Class type)
|
static boolean |
isChar(java.lang.Class type)
|
boolean |
isCurrencyMember(java.lang.String memberName)
Specifies if this member is to be considered as a currency value. |
static boolean |
isDouble(java.lang.Class type)
|
static boolean |
isFloat(java.lang.Class type)
|
static boolean |
isInt(java.lang.Class type)
|
static boolean |
isIntegerType(java.lang.Class type)
|
static boolean |
isLong(java.lang.Class type)
|
static boolean |
isNumberType(java.lang.Class type)
|
static boolean |
isRealType(java.lang.Class type)
|
boolean |
isReportable(java.lang.Class type)
Returns true members with the specified type can be included in the result set. |
boolean |
isReportable(java.lang.reflect.Field field)
Returns true if the field is public, non-static, non-final and of a reportable type. |
boolean |
isReportable(java.lang.reflect.Method method)
Returns true if the method is public, non-static, returns a reportable type, and has no arguments. |
static boolean |
isShort(java.lang.Class type)
|
static boolean |
isType(java.lang.Class type,
java.lang.Class[] inTypes)
|
void |
setCurrencyMember(java.lang.String memberName,
boolean toCurrency)
|
void |
setExcludedMembers(java.lang.String[] toMembers)
|
void |
setExplicitMembers(java.lang.String[] toMembers)
|
void |
setIncludedMembers(java.lang.String[] toMembers)
|
void |
setIncludedMethodPrefixes(java.lang.String[] toPrefixes)
|
void |
setMemberColumnDisplaySize(java.lang.String memberName,
int toDisplaySize)
|
void |
setMemberColumnLabel(java.lang.String memberName,
java.lang.String toColumnLabel)
|
void |
setMemberColumnName(java.lang.String memberName,
java.lang.String toColumnName)
|
void |
setMemberColumnPrecision(java.lang.String memberName,
int toPrecision)
|
void |
setMemberColumnScale(java.lang.String memberName,
int toScale)
|
void |
setTableName(java.lang.String toName)
|
void |
setVerbose(boolean toVerbose)
If true, informative status about the domain class processing is reported. |
boolean |
shouldReport(java.lang.reflect.Field field)
Controls what fields are included in reports. |
boolean |
shouldReport(java.lang.reflect.Method method,
java.lang.String[] prefixes)
Controls what methods are included in reports. |
static java.lang.String |
simpleNameOf(java.lang.Class c)
|
static int |
sqlTypeOf(java.lang.Class type)
Returns the appropriate Types value for the type. |
static void |
update(java.util.Map map,
java.lang.String name,
java.lang.Object withValue)
|
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public POJOResultSetFactory(java.lang.Class domainClass)
| Method Detail |
public void setVerbose(boolean toVerbose)
public java.lang.Class domainClass()
public POJOResultSetMetaData getMetaData()
throws POJOException
POJOException
public POJOResultSet createResultSet(java.util.Collection domainData)
throws POJOException
POJOException
public POJOResultSet createResultSet(java.lang.Object[] domainData)
throws POJOException
POJOExceptionpublic boolean isReportable(java.lang.Class type)
public static int sqlTypeOf(java.lang.Class type)
Types value for the type.
public boolean isReportable(java.lang.reflect.Method method)
public boolean isReportable(java.lang.reflect.Field field)
public boolean shouldReport(java.lang.reflect.Field field)
Note: reported fields must satisfy both isReportable() and
shouldReport().
public boolean shouldReport(java.lang.reflect.Method method,
java.lang.String[] prefixes)
Note: reported methods must satisfy both isReportable() and
shouldReport().
getIncludedMethodPrefixes()public java.lang.String[] getExplicitMembers()
setExplicitMembers(String[])public void setExplicitMembers(java.lang.String[] toMembers)
public java.lang.String[] getIncludedMembers()
setIncludedMembers(String[])public void setIncludedMembers(java.lang.String[] toMembers)
public java.lang.String[] getExcludedMembers()
setExcludedMembers(String[])public void setExcludedMembers(java.lang.String[] toMembers)
public java.lang.String[] getIncludedMethodPrefixes()
setIncludedMethodPrefixes(String[])public void setIncludedMethodPrefixes(java.lang.String[] toPrefixes)
public java.lang.String getTableName()
setTableName(String)public void setTableName(java.lang.String toName)
public java.lang.String defaultColumnNameOf(java.lang.reflect.Field field)
public java.lang.String defaultColumnNameOf(java.lang.reflect.Method method,
java.lang.String[] prefixes)
public java.lang.String getMemberColumnName(java.lang.String memberName)
setMemberColumnName(String,String),
defaultColumnNameOf(Field),
defaultColumnNameOf(Method,String[])
public void setMemberColumnName(java.lang.String memberName,
java.lang.String toColumnName)
public java.lang.String getMemberColumnLabel(java.lang.String memberName)
setMemberColumnLabel(String,String),
getMemberColumnName(String)
public void setMemberColumnLabel(java.lang.String memberName,
java.lang.String toColumnLabel)
public boolean isCurrencyMember(java.lang.String memberName)
setCurrencyMember(String,boolean)
public void setCurrencyMember(java.lang.String memberName,
boolean toCurrency)
public int getMemberColumnDisplaySize(java.lang.String memberName,
java.lang.Class columnType)
setMemberColumnDisplaySize(String,int),
getMemberColumnPrecision(String,Class)
public void setMemberColumnDisplaySize(java.lang.String memberName,
int toDisplaySize)
public int getMemberColumnPrecision(java.lang.String memberName,
java.lang.Class columnType)
setMemberColumnPrecision(String,int)
public void setMemberColumnPrecision(java.lang.String memberName,
int toPrecision)
public int getMemberColumnScale(java.lang.String memberName,
java.lang.Class columnType)
setMemberColumnScale(String,int)
public void setMemberColumnScale(java.lang.String memberName,
int toScale)
public static boolean isRealType(java.lang.Class type)
public static boolean isIntegerType(java.lang.Class type)
public static boolean isDouble(java.lang.Class type)
public static boolean isFloat(java.lang.Class type)
public static boolean isNumberType(java.lang.Class type)
public static boolean isLong(java.lang.Class type)
public static boolean isByte(java.lang.Class type)
public static boolean isShort(java.lang.Class type)
public static boolean isInt(java.lang.Class type)
public static boolean isChar(java.lang.Class type)
public static boolean isType(java.lang.Class type,
java.lang.Class[] inTypes)
public static boolean isBoolean(java.lang.Class type)
public static java.lang.String simpleNameOf(java.lang.Class c)
public static void update(java.util.Map map,
java.lang.String name,
java.lang.Object withValue)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||