001    package org.apache.myfaces.tobago.layout;
002    
003    /*
004     * Licensed to the Apache Software Foundation (ASF) under one or more
005     * contributor license agreements.  See the NOTICE file distributed with
006     * this work for additional information regarding copyright ownership.
007     * The ASF licenses this file to You under the Apache License, Version 2.0
008     * (the "License"); you may not use this file except in compliance with
009     * the License.  You may obtain a copy of the License at
010     *
011     *      http://www.apache.org/licenses/LICENSE-2.0
012     *
013     * Unless required by applicable law or agreed to in writing, software
014     * distributed under the License is distributed on an "AS IS" BASIS,
015     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
016     * See the License for the specific language governing permissions and
017     * limitations under the License.
018     */
019    
020    /*
021     * Date: May 2, 2007
022     * Time: 1:34:11 PM
023     */
024    public class RelativeLayoutToken extends LayoutToken {
025    
026      static final String SUFFIX = "*";
027    
028      public static final String DEFAULT_TOKEN_STRING = "1*";
029      public static final RelativeLayoutToken DEFAULT_INSTANCE = new RelativeLayoutToken(1);
030    
031      private int factor = 1;
032    
033      public RelativeLayoutToken(int factor) {
034        this.factor = factor;
035      }
036    
037      public int getFactor() {
038        return factor;
039      }
040    
041      public String toString() {
042        return factor + SUFFIX;
043      }
044    
045      public boolean equals(Object o) {
046        if (this == o) {
047          return true;
048        }
049        if (o == null || getClass() != o.getClass()) {
050          return false;
051        }
052    
053        RelativeLayoutToken that = (RelativeLayoutToken) o;
054    
055        if (factor != that.factor) {
056          return false;
057        }
058    
059        return true;
060      }
061    
062      public int hashCode() {
063        return factor;
064      }
065    }