本文整理汇总了Java中net.sf.jasperreports.engine.JRExpression.getChunks方法的典型用法代码示例。如果您正苦于以下问题:Java JRExpression.getChunks方法的具体用法?Java JRExpression.getChunks怎么用?Java JRExpression.getChunks使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.sf.jasperreports.engine.JRExpression
的用法示例。
在下文中一共展示了JRExpression.getChunks方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getSimpleExpressionText
import net.sf.jasperreports.engine.JRExpression; //导入方法依赖的package包/类
/**
*
*/
public static String getSimpleExpressionText(JRExpression expression)
{
String value = null;
if (expression != null)
{
JRExpressionChunk[] chunks = expression.getChunks();
if (
chunks != null
&& chunks.length == 1
&& chunks[0].getType() == JRExpressionChunk.TYPE_TEXT
)
{
String chunk = chunks[0].getText();
Matcher matcher = SIMPLE_EXPRESSION_PATTERN.matcher(chunk);
if (matcher.matches())
{
String text = matcher.group(SIMPLE_EXPRESSION_TEXT_GROUP);
value = TEXT_QUOTE_PATTERN.matcher(text).replaceAll(
TEXT_QUOTE_REPLACEMENT);
}
}
}
return value;
}
示例2: evaluateExpression
import net.sf.jasperreports.engine.JRExpression; //导入方法依赖的package包/类
public static String evaluateExpression(JRExpression expression, ExpressionValues values)
{
if (expression.getType() != ExpressionTypeEnum.SIMPLE_TEXT)
{
throw new IllegalArgumentException("Simple text expression expected");
}
JRExpressionChunk[] chunks = expression.getChunks();
if (chunks == null || chunks.length == 0)
{
return EMPTY_RESULT;
}
ResultCollector result = new ResultCollector(values);
result.collectChunks(chunks);
return result.getResult();
}
示例3: hasSingleChunkExpression
import net.sf.jasperreports.engine.JRExpression; //导入方法依赖的package包/类
public static boolean hasSingleChunkExpression(JRTextField textField)
{
if (textField != null)
{
JRExpression textExpression = textField.getExpression();
JRExpressionChunk[] chunks = textExpression == null ? null : textExpression.getChunks();
if (chunks == null || chunks.length != 1
|| (chunks[0].getType() != JRExpressionChunk.TYPE_FIELD
&& chunks[0].getType() != JRExpressionChunk.TYPE_VARIABLE))
{
return false;
}
return true;
}
return false;
}
示例4: JRBaseExpression
import net.sf.jasperreports.engine.JRExpression; //导入方法依赖的package包/类
/**
* Creates a copy of an expression.
*
* @param expression the original expression
* @param factory the base object factory
* @param expressionId if not null, the created expression will use it as ID
* instead of the original expressions's ID
*/
protected JRBaseExpression(JRExpression expression, JRBaseObjectFactory factory, Integer expressionId)
{
factory.put(expression, this);
if (expressionId == null)
{
id = expression.getId();
}
else
{
id = expressionId.intValue();
}
type = expression.getType();
/* */
JRExpressionChunk[] jrChunks = expression.getChunks();
if (jrChunks != null && jrChunks.length > 0)
{
chunks = new JRExpressionChunk[jrChunks.length];
for(int i = 0; i < chunks.length; i++)
{
chunks[i] = factory.getExpressionChunk(jrChunks[i]);
}
}
}
示例5: visitChunks
import net.sf.jasperreports.engine.JRExpression; //导入方法依赖的package包/类
public static void visitChunks(JRExpression expression, ExpressionChunkVisitor visitor)
{
JRExpressionChunk[] chunks = expression.getChunks();
if (chunks != null)
{
for (JRExpressionChunk chunk : chunks)
{
switch (chunk.getType())
{
case JRExpressionChunk.TYPE_TEXT:
visitor.visitTextChunk(chunk);
break;
case JRExpressionChunk.TYPE_PARAMETER:
visitor.visitParameterChunk(chunk);
break;
case JRExpressionChunk.TYPE_FIELD:
visitor.visitFieldChunk(chunk);
break;
case JRExpressionChunk.TYPE_VARIABLE:
visitor.visitVariableChunk(chunk);
break;
case JRExpressionChunk.TYPE_RESOURCE:
visitor.visitResourceChunk(chunk);
break;
default:
throw
new JRRuntimeException(
EXCEPTION_MESSAGE_KEY_UNKNOWN_EXPRESSION_CHUNK_TYPE,
new Object[]{chunk.getType()});
}
}
}
}
示例6: PropertyStyleProvider
import net.sf.jasperreports.engine.JRExpression; //导入方法依赖的package包/类
public PropertyStyleProvider(
StyleProviderContext context,
Map<String, JRPropertyExpression> stylePropertyExpressions
)
{
this.context = context;
this.stylePropertyExpressions = stylePropertyExpressions;
List<String> fieldsList = new ArrayList<String>();
List<String> variablesList = new ArrayList<String>();
if (stylePropertyExpressions != null)
{
for(JRPropertyExpression stylePropertyExpression : stylePropertyExpressions.values())
{
JRExpression expression = stylePropertyExpression.getValueExpression();
if (expression != null)
{
JRExpressionChunk[] chunks = expression.getChunks();
if (chunks != null)
{
for (int i = 0; i < chunks.length; i++)
{
JRExpressionChunk chunk = chunks[i];
switch (chunk.getType())
{
case JRExpressionChunk.TYPE_FIELD:
{
fieldsList.add(chunk.getText());
break;
}
case JRExpressionChunk.TYPE_VARIABLE:
{
variablesList.add(chunk.getText());
break;
}
}
}
}
}
}
}
fields = fieldsList.size() > 0 ? (String[]) fieldsList.toArray(new String[fieldsList.size()]) : null;
variables = variablesList.size() > 0 ? (String[]) variablesList.toArray(new String[variablesList.size()]) : null;
JRElement element = context.getElement();
JREvaluation evaluation = element instanceof JREvaluation ? (JREvaluation)element : null;
lateEvaluated = evaluation != null && evaluation.getEvaluationTimeValue() != EvaluationTimeEnum.NOW;
}
示例7: verifyExpressions
import net.sf.jasperreports.engine.JRExpression; //导入方法依赖的package包/类
/**
*
*/
private void verifyExpressions(
List<JRExpression> expressions,
Map<String, ? extends JRParameter> parametersMap,
Map<String, JRField> fieldsMap,
Map<String, JRVariable> variablesMap
)
{
if (expressions != null && expressions.size() > 0)
{
for(Iterator<JRExpression> it = expressions.iterator(); it.hasNext();)
{
JRExpression expression = it.next();
JRExpressionChunk[] chunks = expression.getChunks();
if (chunks != null && chunks.length > 0)
{
for(int j = 0; j < chunks.length; j++)
{
JRExpressionChunk expressionChunk = chunks[j];
switch (expressionChunk.getType())
{
case JRExpressionChunk.TYPE_VARIABLE :
{
if ( !variablesMap.containsKey(expressionChunk.getText()) )
{
addBrokenRule("Variable not found : " + expressionChunk.getText(), expression);
}
break;
}
case JRExpressionChunk.TYPE_FIELD :
{
if ( !fieldsMap.containsKey(expressionChunk.getText()) )
{
addBrokenRule("Field not found : " + expressionChunk.getText(), expression);
}
break;
}
case JRExpressionChunk.TYPE_PARAMETER :
{
if ( !parametersMap.containsKey(expressionChunk.getText()) )
{
addBrokenRule("Parameter not found : " + expressionChunk.getText(), expression);
}
break;
}
case JRExpressionChunk.TYPE_RESOURCE :
case JRExpressionChunk.TYPE_TEXT :
default :
{
}
}
}
}
}
}
}
示例8: copyVariables
import net.sf.jasperreports.engine.JRExpression; //导入方法依赖的package包/类
private void copyVariables(JRCrosstab crosstab, JRFillObjectFactory factory)
{
JRVariable[] vars = crosstab.getVariables();
variables = new JRFillVariable[vars.length];
variablesMap = new HashMap<String,JRFillVariable>();
for (int i = 0; i < variables.length; i++)
{
variables[i] = factory.getVariable(vars[i]);
variablesMap.put(variables[i].getName(), variables[i]);
}
Map<String,int[]> totalVarPos = new HashMap<String,int[]>();
totalVariables = new JRFillVariable[rowGroups.length + 1][columnGroups.length + 1][measures.length];
for (int row = 0; row <= rowGroups.length; ++row)
{
JRCrosstabRowGroup rowGroup = row == rowGroups.length ? null : rowGroups[row];
for (int col = 0; col <= columnGroups.length; ++col)
{
JRCrosstabColumnGroup colGroup = col == columnGroups.length ? null : columnGroups[col];
if (row < rowGroups.length || col < columnGroups.length)
{
for (int m = 0; m < measures.length; m++)
{
String totalVariableName = JRDesignCrosstab.getTotalVariableName(measures[m], rowGroup, colGroup);
totalVariables[row][col][m] = variablesMap.get(totalVariableName);
totalVarPos.put(totalVariableName, new int[]{row, col});
}
}
}
}
Set<String> measureVars = new HashSet<String>();
for (JRFillCrosstabMeasure measure : measures)
{
measureVars.add(measure.getFillVariable().getName());
}
retrieveTotal = new boolean[rowGroups.length + 1][columnGroups.length + 1];
//FIXME avoid this
JRExpressionCollector collector = JRExpressionCollector.collector(filler.getJasperReportsContext(), filler.getJasperReport(), crosstab);
List<JRExpression> expressions = collector.getExpressions(crosstab);
for (Iterator<JRExpression> iter = expressions.iterator(); iter.hasNext();)
{
JRExpression expression = iter.next();
Object expressionContext = collector.getExpressionContext(expression);
boolean groupHeaderExpression = expressionContext instanceof JRCrosstabGroup;
JRExpressionChunk[] chunks = expression.getChunks();
if (chunks != null)
{
for (int i = 0; i < chunks.length; i++)
{
JRExpressionChunk chunk = chunks[i];
if (chunk.getType() == JRExpressionChunk.TYPE_VARIABLE)
{
String varName = chunk.getText();
int[] pos = totalVarPos.get(varName);
if (pos != null)
{
retrieveTotal[pos[0]][pos[1]] = true;
}
// if a measure variable is used inside a group header, compute all totals.
// in theory we could have a finer grained rule here, but it complicates
// the logic without a singnificant gain.
if (groupHeaderExpression && (pos != null || measureVars.contains(varName)))
{
retrieveTotal[0][0] = true;
}
}
}
}
}
}
示例9: execute
import net.sf.jasperreports.engine.JRExpression; //导入方法依赖的package包/类
@Override
public void execute() throws CommandException
{
SortOrderEnum sortOrder = HeaderToolbarElementUtils.getSortOrder(sortData.getSortOrder());//FIXMEJIVE use labels in JR enum, even if they are longer
JRDesignSortField newSortField =
new JRDesignSortField(
sortData.getSortColumnName(),
SortFieldTypeEnum.getByName(sortData.getSortColumnType()),
sortOrder
);
JRSortField oldSortField = null;
List<JRSortField> sortFields = dataset.getSortFieldsList();
if (
JRPropertiesUtil.getInstance(jasperReportsContext).getBooleanProperty(dataset, PROPERTY_CREATE_SORT_FIELDS_FOR_GROUPS, false)
&& (sortFields == null || sortFields.isEmpty())
)
{
List<JRGroup> groups = dataset.getGroupsList();
for (JRGroup group : groups)
{
JRExpression expression = group.getExpression();
if (expression != null)
{
JRExpressionChunk[] chunks = expression.getChunks();
if (chunks != null && chunks.length == 1)
{
JRExpressionChunk chunk = chunks[0];
if (
chunk.getType() == JRExpressionChunk.TYPE_FIELD
|| chunk.getType() == JRExpressionChunk.TYPE_VARIABLE
)
{
JRDesignSortField groupSortField =
new JRDesignSortField(
chunk.getText(),
chunk.getType() == JRExpressionChunk.TYPE_FIELD
? SortFieldTypeEnum.FIELD
: SortFieldTypeEnum.VARIABLE,
SortOrderEnum.ASCENDING
);
individualCommandStack.execute(new AddSortFieldCommand(dataset, groupSortField));
}
}
}
}
}
for (JRSortField crtSortField : sortFields)
{
if (
newSortField.getName().equals(crtSortField.getName())
&& newSortField.getType() == crtSortField.getType()
)
{
oldSortField = crtSortField;
break;
}
}
if (oldSortField != null)
{
individualCommandStack.execute(new RemoveSortFieldCommand(dataset, oldSortField));
}
if (sortOrder != null)
{
individualCommandStack.execute(new AddSortFieldCommand(dataset, newSortField));
}
}