1 package net.sf.mbus4j.dataframes.datablocks; 2 3 /* 4 * #%L 5 * mbus4j-core 6 * %% 7 * Copyright (C) 2009 - 2014 MBus4J 8 * %% 9 * mbus4j - Drivers for the M-Bus protocol - http://mbus4j.sourceforge.net/ 10 * Copyright (C) 2009-2014, mbus4j.sf.net, and individual contributors as indicated 11 * by the @authors tag. See the copyright.txt in the distribution for a 12 * full listing of individual contributors. 13 * 14 * This is free software; you can redistribute it and/or modify it 15 * under the terms of the GNU General Public License as 16 * published by the Free Software Foundation; either version 3 of 17 * the License, or (at your option) any later version. 18 * 19 * This software is distributed in the hope that it will be useful, 20 * but WITHOUT ANY WARRANTY; without even the implied warranty of 21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22 * Lesser General Public License for more details. 23 * 24 * You should have received a copy of the GNU Lesser General Public 25 * License along with this software; if not, write to the Free 26 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 27 * 02110-1301 USA, or see the FSF site: http://www.fsf.org. 28 * #L% 29 */ 30 import java.math.BigDecimal; 31 import net.sf.json.JSONObject; 32 33 /** 34 * 35 * @author arnep@users.sourceforge.net 36 * @version $Id: BigDecimalDataBlock.java 104 2014-02-21 09:31:17Z arnep $ 37 */ 38 public class BigDecimalDataBlock extends DataBlock { 39 40 private BigDecimal value; 41 42 public BigDecimalDataBlock() { 43 super(); 44 } 45 46 @Override 47 public String getValueAsString() { 48 return getValue() != null ? getValue().toPlainString() : null; 49 } 50 51 @Override 52 protected void accumulateDatatoJSON(JSONObject json) { 53 json.accumulate("data", getValue().toEngineeringString()); 54 } 55 56 @Override 57 public void fromJSON(JSONObject json) { 58 super.fromJSON(json); 59 setValue(new BigDecimal(json.getString("data"))); 60 } 61 62 /** 63 * @return the value 64 */ 65 public BigDecimal getValue() { 66 return value; 67 } 68 69 /** 70 * @param value the value to set 71 */ 72 public void setValue(BigDecimal value) { 73 this.value = value; 74 } 75 76 @Override 77 public void setValue(String text) { 78 this.value = new BigDecimal(text); 79 } 80 81 }