class MapEntry {
protected abstract void parseRestNCSA(String line) throws MapException ;
}
class RectangleMapEntry {
protected void parseRestNCSA(String line)
throws MapException
{
StringTokenizer strtok = new StringTokenizer(line);
try {
URL = strtok.nextToken();
ul = Point.parseNCSA(strtok.nextToken());
lr = Point.parseNCSA(strtok.nextToken());
if(strtok.hasMoreTokens())
throw new MapException(errorString);
} catch(NoSuchElementException ex) {
throw new MapException(errorString);
} catch(NumberFormatException ex) {
throw new MapException(errorString);
}
}
}
class CircleMapEntry {
protected void parseRestNCSA(String line)
{
StringTokenizer strtok = new StringTokenizer(line);
try {
URL = strtok.nextToken();
center = Point.parseNCSA(strtok.nextToken());
Point atEdge = Point.parseNCSA(strtok.nextToken());
rSq = center.distanceSquared(atEdge);
if(strtok.hasMoreTokens())
throw new MapException(errorString);
} catch(NoSuchElementException ex) {
throw new MapException(errorString);
} catch(NumberFormatException ex) {
throw new MapException(errorString);
}
}
}
class PolygonMapEntry {
protected void parseRestNCSA(String line)
{
StringTokenizer strtok = new StringTokenizer(line);
try {
URL = strtok.nextToken();
points = new Vector(6);
while(strtok.hasMoreTokens())
points.addElement(Point.parseNCSA(strtok.nextToken()));
} catch(NoSuchElementException ex) {
throw new MapException(errorString);
} catch(NumberFormatException ex) {
throw new MapException(errorString);
}
}
}
|