001    /*
002     * Licensed under the Apache License, Version 2.0 (the "License");
003     * you may not use this file except in compliance with the License.
004     * You may obtain a copy of the License at
005     *
006     * http://www.apache.org/licenses/LICENSE-2.0
007     *
008     * Unless required by applicable law or agreed to in writing, software
009     * distributed under the License is distributed on an "AS IS" BASIS,
010     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
011     * See the License for the specific language governing permissions and
012     * limitations under the License.
013     * 
014     * See the NOTICE file distributed with this work for additional
015     * information regarding copyright ownership.
016     */
017    
018    package com.osbcp.css.unit;
019    
020    /**
021     * Represents a numeric CSS unit.
022     * 
023     * @see <a href="http://w3schools.com/cssref/css_units.asp">CSS Units</a>
024     * @author <a href="mailto:christoffer@christoffer.me">Christoffer Pettersson</a>
025     * 
026     */
027    
028    public abstract class NumericUnit implements Unit {
029    
030            private static final long serialVersionUID = 1L;
031    
032            private int length;
033            private String unit;
034    
035            /**
036             * Creates a new numeric CSS unit.
037             * 
038             * @param length The numeric length of the unit
039             * @param unit The unit label
040             * @see <a href="http://w3schools.com/cssref/css_units.asp">CSS Units</a>
041             */
042    
043            NumericUnit(final int length, final String unit) {
044                    this.length = length;
045                    this.unit = unit;
046            }
047    
048            @Override
049            public final String toString() {
050                    return length + unit;
051            }
052    
053    }