// Copyright (C) 2003-2009 by Object Mentor, Inc. All rights reserved. // Released under the terms of the CPL Common Public License version 1.0. package fit.decorator.util; import java.awt.Point; public class ClassDelegatePointParser { public static Point parse(String s) { // format = (xxxx,yyyyy) validateFormat(s); int indexOfOpenParanthesis = 0; int indexOfComma = s.indexOf(","); int indexOfClosingParanthesis = s.length() - 1; int x = Integer.parseInt(substring(s, indexOfOpenParanthesis, indexOfComma)); int y = Integer.parseInt(substring(s, indexOfComma, indexOfClosingParanthesis)); return new Point(x, y); } private static void validateFormat(String s) { if ("(x,y)".length() > s.length() || !s.contains("(") || !s.contains(",") || !s.contains(")")) { throw new IllegalArgumentException(s + " is not a valid format. (x,y) is the correct format"); } } private static String substring(String s, int startingIndex, int endingIndex) { return s.substring(startingIndex + 1, endingIndex); } }