Package org.jfree.report.flow

Examples of org.jfree.report.flow.FlowController


  protected LayoutController processContent(final ReportTarget target)
      throws DataSourceException, ReportProcessingException,
      ReportDataFactoryException
  {

    final FlowController flowController = getFlowController();

    final Node[] nodes = getNodes();
    final int currentIndex = getIndex();
    if (currentIndex < nodes.length)
    {
View Full Code Here


   */
  protected LayoutController finishElement(final ReportTarget target)
      throws ReportProcessingException, DataSourceException,
      ReportDataFactoryException
  {
    FlowController fc = handleDefaultEndElement(target);

    // unwind the stack ..
    final Section s = (Section) getElement();
    fc = finishData(target, fc);

    if (s.isRepeat())
    {
      final FlowController cfc = tryRepeatingCommit(fc);
      if (cfc != null)
      {
        // Go back to the beginning ...
        final SectionLayoutController derived = (SectionLayoutController) clone();
        derived.setProcessingState(ElementLayoutController.NOT_STARTED);
View Full Code Here

      throws DataSourceException, ReportProcessingException,
      ReportDataFactoryException
  {
    final Element s = getElement();

    FlowController fc = getFlowController();
    // Step 3: Add the expressions. Any expressions defined for the subreport
    // will work on the queried dataset.
    fc = startData(target, fc);

    final Expression[] expressions = s.getExpressions();
View Full Code Here

   */
  protected LayoutController finishElement(final ReportTarget target)
      throws ReportProcessingException, DataSourceException,
      ReportDataFactoryException
  {
    final FlowController fc = handleDefaultEndElement(target);
    final ElementLayoutController derived = (ElementLayoutController) clone();
    derived.setProcessingState(ElementLayoutController.FINISHED);
    derived.setFlowController(fc);
    return derived;
  }
View Full Code Here

    if (e.isVirtual() == false)
    {
      target.endElement(getAttributeMap());
    }

    FlowController fc = getFlowController();
    final PrecomputedValueRegistry pcvr =
        fc.getPrecomputedValueRegistry();
    // Step 2: Remove the expressions of this element
    final int expressionsCount = getExpressionsCount();
    if (expressionsCount != 0)
    {
      final ExpressionSlot[] activeExpressions = fc.getActiveExpressions();
      for (int i = activeExpressions.length - expressionsCount; i < activeExpressions.length; i++)
      {
        final ExpressionSlot slot = activeExpressions[i];
        pcvr.addFunction(slot.getName(), slot.getValue());
      }
      fc = fc.deactivateExpressions();
    }

    if (isPrecomputing() == false)
    {
      pcvr.finishElement(new ElementPrecomputeKey(e));
View Full Code Here

      final boolean advanceable = fc.getMasterRow().isAdvanceable();
      if (advanceable && advanceRequested)
      {
        // we check against the commited target; But we will not use the
        // commited target if the group is no longer active...
        final FlowController cfc =
            fc.performOperation(FlowControlOperation.COMMIT);
        final boolean groupFinished =
            LayoutControllerUtil.isGroupFinished(cfc, getElement());
        if (groupFinished == false)
        {
View Full Code Here

  protected LayoutController processContent(final ReportTarget target)
      throws DataSourceException, ReportProcessingException, ReportDataFactoryException
  {

    final Node node = getElement();
    final FlowController flowController = getFlowController();
    final LayoutExpressionRuntime er =
        LayoutControllerUtil.getExpressionRuntime(flowController, node);
    final ContentElement element = (ContentElement) node;
    final Expression ex = element.getValueExpression();
    final Object value;

    if (ex != null)
    {
      try
      {
        ex.setRuntime(er);
        value = ex.computeValue();
      }
      finally
      {
        ex.setRuntime(null);
      }
    }
    else
    {
      value = null;
    }

    // This should be a very rare case indeed ..
    if (value instanceof DataFlags)
    {
      target.processContent((DataFlags) value);

      final ContentElementLayoutController derived = (ContentElementLayoutController) clone();
      derived.setProcessingState(ElementLayoutController.FINISHING);
      derived.setFlowController(flowController);
      return derived;
    }

    if (value instanceof Node)
    {
      // we explictly allow structural content here.
      // As this might be a very expensive thing, if we
      // keep it in a single state, we continue on a separate state.
      final Node valueNode = (Node) value;
      valueNode.updateParent(node.getParent());
      final ReportContext reportContext = flowController.getReportContext();
      final LayoutControllerFactory layoutControllerFactory =
          reportContext.getLayoutControllerFactory();

      // actually, this is the same as if the element were a
      // child element of a section. The only difference is
View Full Code Here

  protected LayoutController processContent(final ReportTarget target)
      throws DataSourceException, ReportProcessingException,
      ReportDataFactoryException
  {

    final FlowController flowController = getFlowController();

    final Node[] nodes = getNodes();
    final int currentIndex = getIndex();
    if (currentIndex < nodes.length)
    {
View Full Code Here

   */
  protected LayoutController finishElement(final ReportTarget target)
      throws ReportProcessingException, DataSourceException,
      ReportDataFactoryException
  {
    FlowController fc = handleDefaultEndElement(target);

    // unwind the stack ..
    final Section s = (Section) getElement();
    fc = finishData(target, fc);

    if (s.isRepeat())
    {
      final FlowController cfc = tryRepeatingCommit(fc);
      if (cfc != null)
      {
        // Go back to the beginning ...
        final SectionLayoutController derived = (SectionLayoutController) clone();
        derived.setProcessingState(ElementLayoutController.NOT_STARTED);
View Full Code Here

                                         final LayoutController layoutController,
                                         final FlowController flowController)
      throws ReportProcessingException, ReportDataFactoryException,
      DataSourceException
  {
    final FlowController fc = flowController.createPrecomputeInstance();
    final PrecomputedValueRegistry pcvr = fc.getPrecomputedValueRegistry();

    pcvr.startElementPrecomputation(nodeKey);

    final LayoutController rootLc = layoutController.createPrecomputeInstance(fc);
    final LayoutController rootParent = rootLc.getParent();
    final ReportTarget target = new EmptyReportTarget(fc.getReportJob(), fc.getExportDescriptor());

    LayoutController lc = rootLc;
    while (lc.isAdvanceable())
    {
      lc = lc.advance(target);
View Full Code Here

TOP

Related Classes of org.jfree.report.flow.FlowController

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.