X-Git-Url: http://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=src%2Ftim%2Fprune%2Fdata%2FLongitude.java;fp=src%2Ftim%2Fprune%2Fdata%2FLongitude.java;h=b4c04139d5046db1b218b1b52e6019cd2035126c;hp=0000000000000000000000000000000000000000;hb=ce6f2161b8596f7018d6a76bff79bc9e571f35fd;hpb=2d8cb72e84d5cc1089ce77baf1e34ea3ea2f8465 diff --git a/src/tim/prune/data/Longitude.java b/src/tim/prune/data/Longitude.java new file mode 100644 index 0000000..b4c0413 --- /dev/null +++ b/src/tim/prune/data/Longitude.java @@ -0,0 +1,80 @@ +package tim.prune.data; + +/** + * Class to represent a Longitude Coordinate + */ +public class Longitude extends Coordinate +{ + /** + * Constructor + * @param inString string value from file + */ + public Longitude(String inString) + { + super(inString); + } + + + /** + * Constructor + * @param inValue value of coordinate + * @param inFormat format to use + */ + public Longitude(double inValue, int inFormat) + { + super(inValue, inFormat, inValue < 0.0 ? WEST : EAST); + } + + + /** + * Turn the given character into a cardinal + * @see tim.prune.data.Coordinate#getCardinal(char) + */ + protected int getCardinal(char inChar) + { + // Longitude recognises E, W and - + // default is no cardinal + int cardinal = NO_CARDINAL; + switch (inChar) + { + case 'E': + case 'e': + cardinal = EAST; break; + case 'W': + case 'w': + case '-': + cardinal = WEST; break; + default: + // no character given + } + return cardinal; + } + + + /** + * @return default cardinal (East) + * @see tim.prune.data.Coordinate#getDefaultCardinal() + */ + protected int getDefaultCardinal() + { + return EAST; + } + + + /** + * Make a new Longitude object + * @see tim.prune.data.Coordinate#makeNew(double, int) + */ + protected Coordinate makeNew(double inValue, int inFormat) + { + return new Longitude(inValue, inFormat); + } + + /** + * @return the maximum degree range for this coordinate + */ + protected int getMaxDegrees() + { + return 180; + } +}