001    /*
002     * Licensed to the Apache Software Foundation (ASF) under one
003     * or more contributor license agreements.  See the NOTICE file
004     * distributed with this work for additional information
005     * regarding copyright ownership.  The ASF licenses this file
006     * to you under the Apache License, Version 2.0 (the
007     * "License"); you may not use this file except in compliance
008     * with the License.  You may obtain a copy of the License at
009     *
010     *   http://www.apache.org/licenses/LICENSE-2.0
011     *
012     * Unless required by applicable law or agreed to in writing,
013     * software distributed under the License is distributed on an
014     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015     * KIND, either express or implied.  See the License for the
016     * specific language governing permissions and limitations
017     * under the License.
018     */
019    
020    package org.apache.myfaces.tobago.layout;
021    
022    /**
023     * User: lofwyr
024     * Date: 23.01.2008 20:18:45
025     */
026    public class Position {
027    
028      private Measure left;
029      private Measure top;
030    
031      public Position(Measure left, Measure top) {
032        this.left = left;
033        this.top = top;
034      }
035    
036      public Position(String string) {
037        int comma = string.indexOf(',');
038        if (comma >= 0) { // found first comma
039          left = Measure.parse(string.substring(0, comma));
040          top = Measure.parse(string.substring(comma + 1));
041        } else {
042          throw new IllegalArgumentException("Can't parse to the position: '" + string + "'");
043        }
044      }
045    
046      public Measure getLeft() {
047        return left;
048      }
049    
050      public void setLeft(Measure left) {
051        this.left = left;
052      }
053    
054      public Measure getTop() {
055        return top;
056      }
057    
058      public void setTop(Measure top) {
059        this.top = top;
060      }
061    
062      @Override
063      public String toString() {
064        return new StringBuilder().append(left).append(',').append(top).toString();
065      }
066    }