summaryrefslogtreecommitdiff
path: root/src/com/p4square/grow/backend/resources/Point.java
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2013-08-04 16:09:29 -0700
committerJesse Morgan <jesse@jesterpm.net>2013-08-04 16:09:29 -0700
commit52539d7aaba96b7997a3c5a07e4a1ad234af7d04 (patch)
tree2686f56bc37656c0824a05e28472f7334ed39028 /src/com/p4square/grow/backend/resources/Point.java
parent69e2512750dd75fce43a21226979996c3cd7da1d (diff)
Committing everything since its long overdue.
Diffstat (limited to 'src/com/p4square/grow/backend/resources/Point.java')
-rw-r--r--src/com/p4square/grow/backend/resources/Point.java52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/com/p4square/grow/backend/resources/Point.java b/src/com/p4square/grow/backend/resources/Point.java
new file mode 100644
index 0000000..e1b15a8
--- /dev/null
+++ b/src/com/p4square/grow/backend/resources/Point.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2013 Jesse Morgan
+ */
+
+package com.p4square.grow.backend.resources;
+
+/**
+ * Simple double based point class.
+ *
+ * @author Jesse Morgan <jesse@jesterpm.net>
+ */
+class Point {
+ public static Point valueOf(String str) {
+ final int comma = str.indexOf(',');
+ if (comma == -1) {
+ throw new IllegalArgumentException("Malformed point string");
+ }
+
+ final String sX = str.substring(0, comma);
+ final String sY = str.substring(comma + 1);
+
+ return new Point(Double.valueOf(sX), Double.valueOf(sY));
+ }
+
+ private final double mX;
+ private final double mY;
+
+ public Point(double x, double y) {
+ mX = x;
+ mY = y;
+ }
+
+ public double distance(Point other) {
+ final double dx = mX - other.mX;
+ final double dy = mY - other.mY;
+
+ return Math.sqrt(dx*dx + dy*dy);
+ }
+
+ public double getX() {
+ return mX;
+ }
+
+ public double getY() {
+ return mY;
+ }
+
+ @Override
+ public String toString() {
+ return String.format("%.2f,%.2f", mX, mY);
+ }
+}