summaryrefslogtreecommitdiff
path: root/src/interfaces/jdbc/postgresql/util/PGmoney.java
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1998-09-12 17:26:04 +0000
committerBruce Momjian <bruce@momjian.us>1998-09-12 17:26:04 +0000
commitbcb51fc91684d0e4bbf8245660682ab3b9a7dfca (patch)
tree988ee9051986a1d3f0e6cafe42a5d2d7a96f3d43 /src/interfaces/jdbc/postgresql/util/PGmoney.java
parent6ee06b0fd36ac6271f1b89c7814f0b918bf371c5 (diff)
rename java file for Peter.
Diffstat (limited to 'src/interfaces/jdbc/postgresql/util/PGmoney.java')
-rw-r--r--src/interfaces/jdbc/postgresql/util/PGmoney.java85
1 files changed, 85 insertions, 0 deletions
diff --git a/src/interfaces/jdbc/postgresql/util/PGmoney.java b/src/interfaces/jdbc/postgresql/util/PGmoney.java
new file mode 100644
index 00000000000..7d9ebf995a4
--- /dev/null
+++ b/src/interfaces/jdbc/postgresql/util/PGmoney.java
@@ -0,0 +1,85 @@
+package postgresql.util;
+
+import java.io.*;
+import java.sql.*;
+
+/**
+ * This implements a class that handles the PostgreSQL money and cash types
+ */
+public class PGmoney extends PGobject implements Serializable,Cloneable
+{
+ /**
+ * The value of the field
+ */
+ public double val;
+
+ /**
+ * @param value of field
+ */
+ public PGmoney(double value) {
+ this();
+ val = value;
+ }
+
+ /**
+ * This is called mainly from the other geometric types, when a
+ * point is imbeded within their definition.
+ *
+ * @param value Definition of this point in PostgreSQL's syntax
+ */
+ public PGmoney(String value) throws SQLException
+ {
+ this();
+ setValue(value);
+ }
+
+ /**
+ * Required by the driver
+ */
+ public PGmoney()
+ {
+ setType("money");
+ }
+
+ /**
+ * @param s Definition of this point in PostgreSQL's syntax
+ * @exception SQLException on conversion failure
+ */
+ public void setValue(String s) throws SQLException
+ {
+ try {
+ val = Double.valueOf(s.substring(1)).doubleValue();
+ } catch(NumberFormatException e) {
+ throw new SQLException("conversion of money failed - "+e.toString());
+ }
+ }
+
+ /**
+ * @param obj Object to compare with
+ * @return true if the two boxes are identical
+ */
+ public boolean equals(Object obj)
+ {
+ if(obj instanceof PGmoney) {
+ PGmoney p = (PGmoney)obj;
+ return val == p.val;
+ }
+ return false;
+ }
+
+ /**
+ * This must be overidden to allow the object to be cloned
+ */
+ public Object clone()
+ {
+ return new PGmoney(val);
+ }
+
+ /**
+ * @return the PGpoint in the syntax expected by postgresql
+ */
+ public String getValue()
+ {
+ return "$"+val;
+ }
+}