com.pmease.quickbuild.plugin.report.engine.datareport
Class DataReport

java.lang.Object
  extended by com.pmease.quickbuild.plugin.report.engine.extensionpoint.AbstractTypedXMLObject
      extended by com.pmease.quickbuild.plugin.report.engine.datareport.DataReport
All Implemented Interfaces:
TypedObject, XMLSerializable, java.io.Serializable
Direct Known Subclasses:
ReportStats, StatisticsReport, StatisticsReport, UnProcessedReport

public class DataReport
extends AbstractTypedXMLObject

See Also:
Serialized Form

Constructor Summary
DataReport(ReportMetaData meta)
           
 
Method Summary
 DataRow addRow()
           
 DataRow addRow(DataRow row)
           
 DataRow addRow(java.lang.Object[] values)
           
 void clear()
           
 boolean containsColumn(DataColumn column)
           
 boolean containsColumn(java.lang.String columnName)
           
protected  java.lang.String createDefaultMatchCondition()
           
 ReportStats createReportStats()
           
 DataRow createRow()
           
 DataRow createRow(java.lang.Object[] values)
           
 boolean equals(java.lang.Object obj)
           
 void filter(java.lang.String filterExpression)
           
 void filter(java.lang.String[] columnNames, java.lang.String filter, boolean isContaining)
           
 DataRow findRow(DataRow sourceRow, boolean wholeRowMatch)
           
 DataRow findRow(DataRow sourceRow, DataColumn[] compareColumns)
           
 DataRow findRow(DataRow sourceRow, java.lang.String matchCondition)
           
 DataRow findRow(java.util.Map<java.lang.String,java.lang.Object> emContext, java.lang.String matchCondition)
          Find the first row which need some context to use the match expression.
 DataRow findRow(Pair<java.lang.String,java.lang.Object>[] values)
           
 DataRow findRow(com.google.common.base.Predicate<DataRow> predicate)
           
 DataRow findRow(java.lang.String matchCondition)
          Find the first row which is matched the accept condition
 void fromXML(org.dom4j.Element element)
           
 DataColumn getColumn(int index)
           
 DataColumn getColumn(java.lang.String columnName)
           
 java.util.List<DataColumn> getColumns()
           
 int getColumnsCount()
           
 DataType getDataType(int index)
           
 DataType getDataType(java.lang.String columnName)
           
 java.lang.String getElementName()
           
 java.util.List<DataRow> getFilteredRows(java.lang.String filterExpression)
           
 java.util.List<DataRow> getFilteredRows(java.lang.String[] filterNames, java.lang.Object[] values)
          The length of filter column names should be same with the length of values.
 java.util.List<DataRow> getFilteredRows(java.lang.String[] columnNames, java.lang.String filter, boolean isContaining)
           
 java.util.Locale getLocale()
           
protected  java.lang.String getMergeExpression(DataColumn c)
           
 ReportMetaData getMeta()
           
protected  java.lang.Class<?> getMigratorClass()
           
 java.lang.String getOutputName()
           
 java.lang.String getReportName()
           
 DataRow getRow(int index)
           
 java.util.Map<java.lang.String,java.lang.Integer> getRowIndexMap()
           
 java.util.Map<java.lang.String,java.lang.Integer> getRowIndexMap(DataColumn[] columns)
           
 java.util.Map<java.lang.String,java.lang.Integer> getRowIndexMap(java.lang.String[] columnNames)
           
 java.util.List<DataRow> getRows()
           
 int getRowsCount()
           
 java.lang.String getType()
           
 java.lang.String getVersion()
           
 int hashCode()
           
 boolean isEmpty()
           
 void loadFromXML(java.io.File file)
           
 void loadFromXML(java.io.InputStream in)
           
 void merge(DataReport another)
           
 void merge(DataReport another, DataColumn[] byColumns)
           
 void merge(DataReport another, java.lang.String[] columnNames)
           
 DataReport newInstance(boolean withValues)
          Create a new instance of this report.
 void removeRow(DataRow row)
           
 void removeRow(int index)
           
 void saveToXML(java.io.File file)
           
 void saveToXML(java.io.OutputStream out)
           
 void setLocale(java.util.Locale locale)
           
 void setMaxRows(int maxRows)
           
 void setRows(java.util.List<DataRow> rows)
           
 void setVersion(java.lang.String version)
           
 void sortRows(java.util.List<Order> orders)
           
 void sortRows(java.lang.String sortColumnNames, boolean asc)
           
 java.lang.String toString()
           
 org.dom4j.Element toXML()
           
 
Methods inherited from class com.pmease.quickbuild.plugin.report.engine.extensionpoint.AbstractTypedXMLObject
initFromClassResource, initFromLocal, initFromStream, reflectionReadFromNode, reflectionWriteToNode
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DataReport

public DataReport(ReportMetaData meta)
Method Detail

getReportName

public java.lang.String getReportName()

getOutputName

public java.lang.String getOutputName()

getColumns

public java.util.List<DataColumn> getColumns()

getColumnsCount

public int getColumnsCount()

getColumn

public DataColumn getColumn(int index)

getColumn

public DataColumn getColumn(java.lang.String columnName)

getRowsCount

public int getRowsCount()

getDataType

public DataType getDataType(java.lang.String columnName)

getDataType

public DataType getDataType(int index)

isEmpty

public boolean isEmpty()

getRow

public DataRow getRow(int index)

createRow

public DataRow createRow(java.lang.Object[] values)

createRow

public DataRow createRow()

addRow

public DataRow addRow(java.lang.Object[] values)

addRow

public DataRow addRow()

addRow

public DataRow addRow(DataRow row)

removeRow

public void removeRow(int index)

removeRow

public void removeRow(DataRow row)

findRow

public DataRow findRow(java.lang.String matchCondition)
Find the first row which is matched the accept condition

Parameters:
matchCondition -
Returns:

findRow

public DataRow findRow(com.google.common.base.Predicate<DataRow> predicate)

clear

public void clear()

findRow

public DataRow findRow(java.util.Map<java.lang.String,java.lang.Object> emContext,
                       java.lang.String matchCondition)
Find the first row which need some context to use the match expression.

Parameters:
emContext - Context for expression manager
matchCondition - Match Expression. If match condition is null, we will create it from the primary keys in this report.
Returns:

findRow

public DataRow findRow(DataRow sourceRow,
                       java.lang.String matchCondition)

findRow

public DataRow findRow(DataRow sourceRow,
                       DataColumn[] compareColumns)

findRow

public DataRow findRow(Pair<java.lang.String,java.lang.Object>[] values)

findRow

public DataRow findRow(DataRow sourceRow,
                       boolean wholeRowMatch)

createDefaultMatchCondition

protected java.lang.String createDefaultMatchCondition()

getRows

public java.util.List<DataRow> getRows()

setRows

public void setRows(java.util.List<DataRow> rows)

getMeta

public ReportMetaData getMeta()

sortRows

public void sortRows(java.util.List<Order> orders)

sortRows

public void sortRows(java.lang.String sortColumnNames,
                     boolean asc)

setMaxRows

public void setMaxRows(int maxRows)

newInstance

public DataReport newInstance(boolean withValues)
Create a new instance of this report. If withValues, the rows will also duplicated.

Parameters:
withValues -
Returns:

saveToXML

public void saveToXML(java.io.OutputStream out)

saveToXML

public void saveToXML(java.io.File file)

loadFromXML

public void loadFromXML(java.io.InputStream in)

loadFromXML

public void loadFromXML(java.io.File file)

fromXML

public void fromXML(org.dom4j.Element element)
             throws ReportException
Specified by:
fromXML in interface XMLSerializable
Overrides:
fromXML in class AbstractTypedXMLObject
Throws:
ReportException

toXML

public org.dom4j.Element toXML()
                        throws ReportException
Specified by:
toXML in interface XMLSerializable
Overrides:
toXML in class AbstractTypedXMLObject
Throws:
ReportException

getLocale

public java.util.Locale getLocale()

setLocale

public void setLocale(java.util.Locale locale)

getVersion

public java.lang.String getVersion()

setVersion

public void setVersion(java.lang.String version)

getType

public java.lang.String getType()

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

createReportStats

public ReportStats createReportStats()

containsColumn

public boolean containsColumn(DataColumn column)

containsColumn

public boolean containsColumn(java.lang.String columnName)

getFilteredRows

public java.util.List<DataRow> getFilteredRows(java.lang.String filterExpression)

filter

public void filter(java.lang.String[] columnNames,
                   java.lang.String filter,
                   boolean isContaining)

getFilteredRows

public java.util.List<DataRow> getFilteredRows(java.lang.String[] columnNames,
                                               java.lang.String filter,
                                               boolean isContaining)

getFilteredRows

public java.util.List<DataRow> getFilteredRows(java.lang.String[] filterNames,
                                               java.lang.Object[] values)
The length of filter column names should be same with the length of values.

Parameters:
filterNames -
values -
Returns:

filter

public void filter(java.lang.String filterExpression)

getMergeExpression

protected java.lang.String getMergeExpression(DataColumn c)

merge

public void merge(DataReport another)

merge

public void merge(DataReport another,
                  java.lang.String[] columnNames)

merge

public void merge(DataReport another,
                  DataColumn[] byColumns)

getRowIndexMap

public java.util.Map<java.lang.String,java.lang.Integer> getRowIndexMap()

getRowIndexMap

public java.util.Map<java.lang.String,java.lang.Integer> getRowIndexMap(DataColumn[] columns)

getRowIndexMap

public java.util.Map<java.lang.String,java.lang.Integer> getRowIndexMap(java.lang.String[] columnNames)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getMigratorClass

protected java.lang.Class<?> getMigratorClass()

getElementName

public java.lang.String getElementName()
Specified by:
getElementName in class AbstractTypedXMLObject


Copyright © 2005-2010 PMEase Inc. All Rights Reserved.