blob: 56e573c59d9e54c4601f9568061228b81d2e94f3 [file] [log] [blame]
package org.apache.xpath.objects;
import org.apache.xml.dtm.XType;
import org.apache.xpath.XPathContext;
import org.apache.xpath.parser.Token;
public class XFloat extends XNumber
{
float m_val;
/**
* Constructor for XDouble
*/
public XFloat(float num)
{
m_val = num;
}
/**
* Constructor for XDouble
*/
public XFloat(Float num)
{
m_val = num.floatValue();
}
/**
* Constructor for XDouble
*/
public XFloat()
{
}
public Object object()
{
return new Float(m_val);
}
/**
* Cast result object to a number.
*
* @return the value of the XNumber object
*/
public double num()
{
return m_val;
}
/**
* Get result object as a integer.
*
* @return At this level, the num() value cast to an integer.
*
* @throws javax.xml.transform.TransformerException
*/
public float floatVal() throws javax.xml.transform.TransformerException
{
return m_val;
}
/**
* Evaluate expression to a number.
*
* @return 0.0
*
* @throws javax.xml.transform.TransformerException
*/
public double num(XPathContext xctxt)
throws javax.xml.transform.TransformerException
{
return m_val;
}
/**
* Cast result object to a boolean.
*
* @return false if the value is NaN or exactly equal to 0.0
*/
public boolean bool()
{
return (Double.isNaN(m_val) || (m_val == 0.0)) ? false : true;
}
public void processToken(Token t)
{
String strNum = t.image;
m_val = Float.parseFloat(strNum);
}
/**
* Return the sequence representing this object.
* @return XSequence
*/
public XSequence xseq()
{
return new XSequenceSingleton(this);
}
}