/* * Copyright Aduna (http://www.aduna-software.com/) (c) 2007. * * Licensed under the Aduna BSD-style license. */ package org.openrdf.sail.memory.model; import java.math.BigDecimal; import java.math.BigInteger; import org.openrdf.model.URI; import org.openrdf.model.vocabulary.XMLSchema; /** * An extension of MemLiteral that stores a decimal value to avoid parsing. * * @author Arjohn Kampman */ public class DecimalMemLiteral extends MemLiteral { /*-----------* * Variables * *-----------*/ /** * */ private static final long serialVersionUID = 6760727653986046772L; private BigDecimal value; /*--------------* * Constructors * *--------------*/ public DecimalMemLiteral(Object creator, BigDecimal value) { this(creator, value, XMLSchema.DECIMAL); } public DecimalMemLiteral(Object creator, BigDecimal value, URI datatype) { this(creator, value.toPlainString(), value, datatype); } public DecimalMemLiteral(Object creator, String label, BigDecimal value, URI datatype) { super(creator, label, datatype); this.value = value; } /*---------* * Methods * *---------*/ @Override public byte byteValue() { return value.byteValue(); } @Override public short shortValue() { return value.shortValue(); } @Override public int intValue() { return value.intValue(); } @Override public long longValue() { return value.longValue(); } @Override public float floatValue() { return value.floatValue(); } @Override public double doubleValue() { return value.doubleValue(); } @Override public BigInteger integerValue() { return value.toBigInteger(); } @Override public BigDecimal decimalValue() { return value; } }