Package org.pentaho.reporting.engine.classic.core.modules.parser.simple.readhandlers

Source Code of org.pentaho.reporting.engine.classic.core.modules.parser.simple.readhandlers.MessageFieldReadHandler

/*
* This program is free software; you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software
* Foundation.
*
* You should have received a copy of the GNU Lesser General Public License along with this
* program; if not, you can obtain a copy at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
* or from the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
*
* Copyright (c) 2001 - 2009 Object Refinery Ltd, Pentaho Corporation and Contributors..  All rights reserved.
*/

package org.pentaho.reporting.engine.classic.core.modules.parser.simple.readhandlers;

import org.pentaho.reporting.engine.classic.core.elementfactory.MessageFieldElementFactory;
import org.pentaho.reporting.engine.classic.core.elementfactory.TextElementFactory;
import org.pentaho.reporting.engine.classic.core.modules.parser.base.PropertyAttributes;
import org.pentaho.reporting.engine.classic.core.modules.parser.base.common.PropertyStringReadHandler;
import org.pentaho.reporting.libraries.xmlns.parser.RootXmlReadHandler;
import org.xml.sax.SAXException;

public class MessageFieldReadHandler extends AbstractTextElementReadHandler
{
  private PropertyStringReadHandler stringReadHandler;
  private MessageFieldElementFactory elementFactory;

  public MessageFieldReadHandler()
  {
    elementFactory = new MessageFieldElementFactory();
    stringReadHandler = new PropertyStringReadHandler();
  }

  public void init(final RootXmlReadHandler rootXmlReadHandler, final String s, final String s1)
  {
    super.init(rootXmlReadHandler, s, s1);
    stringReadHandler.init(rootXmlReadHandler, s, s1);
  }

  protected TextElementFactory getTextElementFactory()
  {
    return elementFactory;
  }

  public void characters(final char[] chars, final int i, final int i1) throws SAXException
  {
    stringReadHandler.characters(chars, i, i1);
  }

  /**
   * Starts parsing.
   *
   * @param atts the attributes.
   * @throws org.xml.sax.SAXException if there is a parsing error.
   */
  protected void startParsing(final PropertyAttributes atts)
      throws SAXException
  {
    super.startParsing(atts);
    stringReadHandler.startParsing(atts);
    elementFactory.setNullString(atts.getValue(getUri(), "nullstring"));
  }


  /**
   * Done parsing.
   *
   * @throws org.xml.sax.SAXException if there is a parsing error.
   */
  protected void doneParsing()
      throws SAXException
  {
    stringReadHandler.doneParsing();
    final String text = stringReadHandler.getResult();
    elementFactory.setFormatString(text);
    super.doneParsing();
  }
}
TOP

Related Classes of org.pentaho.reporting.engine.classic.core.modules.parser.simple.readhandlers.MessageFieldReadHandler

TOP
Copyright © 2018 www.massapi.com. 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.