Package pspdash.data.js

Source Code of pspdash.data.js.PercentInterpreter

// PSP Dashboard - Data Automation Tool for PSP-like processes
// Copyright (C) 2003 Software Process Dashboard Initiative
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// 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 General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
//
// The author(s) may be contacted at:
// OO-ALC/TISHD
// Attn: PSP Dashboard Group
// 6137 Wardleigh Road
// Hill AFB, UT 84056-5843
//
// E-Mail POC:  processdash-devel@lists.sourceforge.net


package pspdash.data.js;

import pspdash.data.DoubleData;
import pspdash.data.Repository;


class PercentInterpreter extends DoubleInterpreter {

  public PercentInterpreter(Repository r, String name,
                            int numDigits, boolean readOnly) {
    super(r, name, numDigits, readOnly);
  }

  public static String getString(double value, int numDigits) {
    String result = DoubleData.formatNumber(value * 100.0, numDigits);
    return (result.startsWith("#") ? result : result + "%");
  }


  public String getString() {
    if (value instanceof DoubleData && value.isDefined())
      return getString(((DoubleData) value).getDouble(), numDigits);
    else
      return super.getString();
  }

  public void setString(String s) throws Exception {
    // remove final "%" if it is present, then parse as usual.
    if (s != null) s = s.replace('%', ' ').trim();
    DoubleData d = new DoubleData(s);
    d = new DoubleData(d.getDouble() / 100.0);
    value = d;
  }

}
TOP

Related Classes of pspdash.data.js.PercentInterpreter

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.