/*
 * @(#)FDouble.java
 *
 * Copyright 2001 by Intelligent Technology Inc. All rights reserved.
 */

package jp.co.iti.fagot.fob;

/**
 * Double
 * @author  千曳秀喜
 * @version 1.01 2001/01/07
 */
public class FDouble extends FElement {

	/**
	 * コンストラクタ
	 */
	public FDouble() {
	super();
	}

	/**
	 * コンストラクタ
	 */
	public FDouble(double data) {
	super( new Double(data) );
	}

	/**
	 * コンストラクタ
	 */
	public FDouble( Double data ) {
	super(data);
	}

	/**
	 * コンストラクタ
	 */
	public FDouble( FDouble data ) {
	super();
	set(data);
	}

	/**
	 * 値の取得
	 */
	public double get() {
	return ( (isNull())?0:((Double)getData()).doubleValue() ) ;
	}

	/**
	 * 値の設定
	 */
	public void set(double data) {
	setData( new Double(data) ) ;
	}

	/**
	 * 値の設定
	 */
	public void set( FDouble data) {
	setData( data.getData() ) ;
	}

	/**
	 * 値の取得
	 * @param szValue チェックする文字列
	 */
	static public double stringToDouble(String szValue) {
		double n = 0 ;
		if ( szValue == null ) {
			return 0;
		}
		try {
			n = new Double(szValue).doubleValue();
		} catch ( NumberFormatException nf ) {
			return 0;
		}
		return n;
	}
	//## CLONE ########################################################
	/**
	 * 複製インスタンスの作成
	 * 各実現クラスにおいてインスタンスを生成する
	 * 仮想クラス（およびインスタンス化されないクラス）ではnullを返す
	 */
	public Object createClone() {
	return new FDouble();
	}
}
