Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,9 @@ object PGConverterBuilder extends PGConverterBuilderPaths {

, PGElemConverterBuilder
, PGMapConverterBuilder

, PGLocationDoubleConverterBuilder
, PGPointConverterBuilder
)

def buildScalaConverters() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,10 @@ object PGNullableConverterBuilder extends PGConverterBuilderPaths {

, PGNullableElemConverterBuilder
, PGNullableMapConverterBuilder
, PGNullableLocationConverterBuilder
, PGNullableLocationDoubleConverterBuilder
, PGNullableLocationFloatConverterBuilder
, PGNullablePointConverterBuilder
)

def buildJavaNullableConverters() {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package org.pgscala
package builder
package converters

object PGNullableLocationConverterBuilder extends PGNullableLocationConverterBuilderLike

Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package org.pgscala
package builder
package converters

trait PGNullableLocationConverterBuilderLike extends PGPredefNullableConverterBuilder {
val pgType = "point"

val clazz = "java.awt.geom.Point2D"

override val upperType = "Location"
override def javaType = clazz
override val javaVar = "l"

protected var commonMethods = """
private static String getStringFromDouble(Double s) {
if (s.isNaN())
return "nan";
else if (s == Double.POSITIVE_INFINITY)
return "inf";
else if (s == Double.NEGATIVE_INFINITY)
return "-inf";
else
return String.valueOf(s);
}
"""
override val body = s"""
private static Double getDoubleFromString(String s) {
if (s.equals("nan"))
return Double.NaN;
else if (s.equals("inf"))
return Double.POSITIVE_INFINITY;
else if (s.equals("-inf"))
return Double.NEGATIVE_INFINITY;
else
return Double.valueOf(s);
}

${commonMethods}
"""

val to = """return "("+ getStringFromDouble(l.getX())+","+getStringFromDouble(l.getY())+")""""

val from = """
double x = getDoubleFromString(l.substring(1, l.indexOf(",")));
double y = getDoubleFromString(l.substring(l.indexOf(",")+1, l.length()-1));
return new java.awt.geom.Point2D.Double(x, y)"""

override def inject(body: String) =
super.inject(body)
.replace(
"return null == l ? null :"
, "if (null == l) return null;")
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package org.pgscala
package builder
package converters

object PGNullableLocationDoubleConverterBuilder extends PGNullableLocationConverterBuilderLike {
override val clazz = "java.awt.geom.Point2D.Double"
override val upperType = "LocationDouble"
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package org.pgscala
package builder
package converters

object PGNullableLocationFloatConverterBuilder extends PGNullableLocationConverterBuilderLike {
override val clazz = "java.awt.geom.Point2D.Float"
override val upperType = "LocationFloat"

override val body = s"""
private static Float getFloatFromString(String s) {
if (s.equals("nan"))
return Float.NaN;
else if (s.equals("inf"))
return Float.POSITIVE_INFINITY;
else if (s.equals("-inf"))
return Float.NEGATIVE_INFINITY;
else
return Float.valueOf(s);
}

$commonMethods
"""

override val from = """
float x = getFloatFromString(l.substring(1, l.indexOf(",")));
float y = getFloatFromString(l.substring(l.indexOf(",")+1, l.length()-1));
return new java.awt.geom.Point2D.Float(x, y)"""
}

Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,25 @@ package builder
package converters

object PGNullablePointConverterBuilder extends PGPredefNullableConverterBuilder {
val pgType = "bigint"
val pgType = "point"

val clazz = "java.lang.Long"
val clazz = "java.awt.Point"

val to = "Long.toString(l)"
override val upperType = "Point"
override def javaType = clazz

val from = "Long.valueOf(l)"
val to = """return "("+ (int) p.getX()+","+ (int) p.getY()+")""""

val from = """
if (p.indexOf("nan")!=-1 ||p.indexOf("inf")!=-1) return null;
int x = Integer.valueOf(p.substring(1, p.indexOf(",")));
int y = Integer.valueOf(p.substring(p.indexOf(",")+1, p.length()-1));
return new java.awt.Point(x, y)"""

override def inject(body: String) =
super.inject(body)
.replace(
"return null == p ? null :"
, "if (null == p) return null;")
}

Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ package converters

object PGBufferedImageConverterBuilder
extends PGConverterBuilder {
override def imports = "import java.awt.image.BufferedImage"

val scalaClazz = "java.awt.image.BufferedImage"

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package org.pgscala
package builder
package converters

object PGLocationDoubleConverterBuilder
extends PGConverterBuilder {

override def imports = "import java.awt.geom._"
override val scalaUpperType = "LocationDouble"

override val javaUpperType = "LocationDouble"

val scalaClazz = "java.awt.geom.Point2D.Double"
override val scalaType = "java.awt.geom.Point2D.Double"

val defaultValue = """new java.awt.geom.Point2D.Double()"""
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package org.pgscala
package builder
package converters

object PGPointConverterBuilder
extends PGConverterBuilder {

override def imports = "import java.awt._"

override val scalaUpperType = "Point"

override val javaUpperType = "Point"

val scalaClazz = "java.awt.Point"

val defaultValue = """new java.awt.Point()"""
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package org.pgscala.converters;

import org.joda.convert.*;

/** Do not edit - generated in Builder / PGNullableLocationConverterBuilder.scala */

public enum PGNullableLocationConverter implements StringConverter<java.awt.geom.Point2D> {
INSTANCE;

public static final String pgType = "point";

private static Double getDoubleFromString(String s) {
if (s.equals("nan"))
return Double.NaN;
else if (s.equals("inf"))
return Double.POSITIVE_INFINITY;
else if (s.equals("-inf"))
return Double.NEGATIVE_INFINITY;
else
return Double.valueOf(s);
}

private static String getStringFromDouble(Double s) {
if (s.isNaN())
return "nan";
else if (s == Double.POSITIVE_INFINITY)
return "inf";
else if (s == Double.NEGATIVE_INFINITY)
return "-inf";
else
return String.valueOf(s);
}

@ToString
public static String locationToString(final java.awt.geom.Point2D l) {
if (null == l) return null; return "("+ getStringFromDouble(l.getX())+","+getStringFromDouble(l.getY())+")";
}

@FromString
public static java.awt.geom.Point2D stringToLocation(final String l) {
if (null == l) return null;
double x = getDoubleFromString(l.substring(1, l.indexOf(",")));
double y = getDoubleFromString(l.substring(l.indexOf(",")+1, l.length()-1));
return new java.awt.geom.Point2D.Double(x, y);
}

// -----------------------------------------------------------------------------

public String convertToString(final java.awt.geom.Point2D l) {
return locationToString(l);
}

public java.awt.geom.Point2D convertFromString(final Class<? extends java.awt.geom.Point2D> clazz, final String l) {
return stringToLocation(l);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package org.pgscala.converters;

import org.joda.convert.*;

/** Do not edit - generated in Builder / PGNullableLocationDoubleConverterBuilder.scala */

public enum PGNullableLocationDoubleConverter implements StringConverter<java.awt.geom.Point2D.Double> {
INSTANCE;

public static final String pgType = "point";

private static Double getDoubleFromString(String s) {
if (s.equals("nan"))
return Double.NaN;
else if (s.equals("inf"))
return Double.POSITIVE_INFINITY;
else if (s.equals("-inf"))
return Double.NEGATIVE_INFINITY;
else
return Double.valueOf(s);
}

private static String getStringFromDouble(Double s) {
if (s.isNaN())
return "nan";
else if (s == Double.POSITIVE_INFINITY)
return "inf";
else if (s == Double.NEGATIVE_INFINITY)
return "-inf";
else
return String.valueOf(s);
}

@ToString
public static String locationDoubleToString(final java.awt.geom.Point2D.Double l) {
if (null == l) return null; return "("+ getStringFromDouble(l.getX())+","+getStringFromDouble(l.getY())+")";
}

@FromString
public static java.awt.geom.Point2D.Double stringToLocationDouble(final String l) {
if (null == l) return null;
double x = getDoubleFromString(l.substring(1, l.indexOf(",")));
double y = getDoubleFromString(l.substring(l.indexOf(",")+1, l.length()-1));
return new java.awt.geom.Point2D.Double(x, y);
}

// -----------------------------------------------------------------------------

public String convertToString(final java.awt.geom.Point2D.Double l) {
return locationDoubleToString(l);
}

public java.awt.geom.Point2D.Double convertFromString(final Class<? extends java.awt.geom.Point2D.Double> clazz, final String l) {
return stringToLocationDouble(l);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package org.pgscala.converters;

import org.joda.convert.*;

/** Do not edit - generated in Builder / PGNullableLocationFloatConverterBuilder.scala */

public enum PGNullableLocationFloatConverter implements StringConverter<java.awt.geom.Point2D.Float> {
INSTANCE;

public static final String pgType = "point";

private static Float getFloatFromString(String s) {
if (s.equals("nan"))
return Float.NaN;
else if (s.equals("inf"))
return Float.POSITIVE_INFINITY;
else if (s.equals("-inf"))
return Float.NEGATIVE_INFINITY;
else
return Float.valueOf(s);
}

private static String getStringFromDouble(Double s) {
if (s.isNaN())
return "nan";
else if (s == Double.POSITIVE_INFINITY)
return "inf";
else if (s == Double.NEGATIVE_INFINITY)
return "-inf";
else
return String.valueOf(s);
}

@ToString
public static String locationFloatToString(final java.awt.geom.Point2D.Float l) {
if (null == l) return null; return "("+ getStringFromDouble(l.getX())+","+getStringFromDouble(l.getY())+")";
}

@FromString
public static java.awt.geom.Point2D.Float stringToLocationFloat(final String l) {
if (null == l) return null;
float x = getFloatFromString(l.substring(1, l.indexOf(",")));
float y = getFloatFromString(l.substring(l.indexOf(",")+1, l.length()-1));
return new java.awt.geom.Point2D.Float(x, y);
}

// -----------------------------------------------------------------------------

public String convertToString(final java.awt.geom.Point2D.Float l) {
return locationFloatToString(l);
}

public java.awt.geom.Point2D.Float convertFromString(final Class<? extends java.awt.geom.Point2D.Float> clazz, final String l) {
return stringToLocationFloat(l);
}
}
Loading