W3C home > Mailing lists > Public > www-validator-cvs@w3.org > September 2011

2002/css-validator/org/w3c/css/properties/css21 CssElevation.java,NONE,1.1 CssAzimuth.java,1.3,1.4

From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
Date: Sun, 11 Sep 2011 20:30:25 +0000
To: www-validator-cvs@w3.org
Message-Id: <E1R2qfZ-0002Tp-Gp@lionel-hutz.w3.org>
Update of /sources/public/2002/css-validator/org/w3c/css/properties/css21
In directory hutz:/tmp/cvs-serv9379/org/w3c/css/properties/css21

Modified Files:
	CssAzimuth.java 
Added Files:
	CssElevation.java 
Log Message:
moved 'elevation' added @spec keywork in files with link to the spec it followed

Index: CssAzimuth.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css21/CssAzimuth.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- CssAzimuth.java	10 Sep 2011 20:24:47 -0000	1.3
+++ CssAzimuth.java	11 Sep 2011 20:30:23 -0000	1.4
@@ -16,7 +16,7 @@
 import org.w3c.css.values.CssValue;
 
 /**
- * http://www.w3.org/TR/2011/REC-CSS2-20110607/aural.html#propdef-azimuth
+ * @spec http://www.w3.org/TR/2011/REC-CSS2-20110607/aural.html#propdef-azimuth
  *
  * @version $Revision$
  */

--- NEW FILE: CssElevation.java ---
//
// $Id: CssElevation.java,v 1.1 2011/09/11 20:30:23 ylafon Exp $
//
// (c) COPYRIGHT MIT, ERCIM and Keio University 2011
// Please first read the full copyright statement in file COPYRIGHT.html

package org.w3c.css.properties.css21;

import org.w3c.css.properties.css.CssProperty;
import org.w3c.css.util.ApplContext;
import org.w3c.css.util.InvalidParamException;
import org.w3c.css.values.CssAngle;
import org.w3c.css.values.CssExpression;
import org.w3c.css.values.CssIdent;
import org.w3c.css.values.CssTypes;
import org.w3c.css.values.CssValue;


/**
 * @version $Revision: 1.1 $
 * @spec http://www.w3.org/TR/2011/REC-CSS2-20110607/aural.html#propdef-elevation
 */
public class CssElevation extends org.w3c.css.properties.css.CssElevation {

    CssIdent identValue;
    CssAngle angleValue;

    private static int[] hash_values;
    private static CssIdent defaultValue;
    private static String[] elValues = {"below", "level", "above",
            "highter", "lower"};


    static {
        defaultValue = new CssIdent("level");
        hash_values = new int[elValues.length];
        for (int i = 0; i < elValues.length; i++)
            hash_values[i] = elValues[i].hashCode();
    }

    /**
     * Create a new ACssElevation
     */
    public CssElevation() {
    }

    // check that the ident is a valid one
    private boolean checkIdent(CssIdent ident) {
        int hash = ident.hashCode();
        for (int h : hash_values) {
            if (h == hash) {
                return true;
            }
        }
        return false;
    }

    /**
     * Creates a new ACssElevation
     *
     * @param expression The expression for this property
     * @throws org.w3c.css.util.InvalidParamException
     *          Values are incorrect
     */
    public CssElevation(ApplContext ac, CssExpression expression,
                        boolean check) throws InvalidParamException {
        if (check && expression.getCount() > 1) {
            throw new InvalidParamException("unrecognize", ac);
        }

        CssValue val = expression.getValue();
        //int index;
        setByUser();

        switch (val.getType()) {
            case CssTypes.CSS_IDENT:
                CssIdent ident = (CssIdent) val;
                if (inherit.equals(ident)) {
                    identValue = inherit;
                    expression.next();
                    return;
                }
                if (checkIdent(ident)) {
                    identValue = ident;
                    expression.next();
                    return;
                }
                throw new InvalidParamException("unrecognize", ac);
            case CssTypes.CSS_ANGLE:
                angleValue = (CssAngle) val;
                float v = angleValue.getDegree();
                if (v > 90 && v < 270) {
                    throw new InvalidParamException("elevation.range", ac);
                }
                expression.next();
                return;
        }

        throw new InvalidParamException("value",
                expression.getValue().toString(),
                getPropertyName(), ac);
    }

    public CssElevation(ApplContext ac, CssExpression expression)
            throws InvalidParamException {
        this(ac, expression, false);
    }

    /**
     * Returns the value of this property
     */
    public Object get() {
        if (identValue != null) {
            return identValue;
        }
        return angleValue;
    }

    /**
     * Returns true if this property is "softly" inherited
     * e.g. his value is equals to inherit
     */
    public boolean isSoftlyInherited() {
        return inherit.equals(identValue);
    }

    /**
     * Returns a string representation of the object.
     */
    public String toString() {
        if (identValue != null) {
            return identValue.toString();
        }
        return angleValue.toString();
    }


    /**
     * Compares two properties for equality.
     *
     * @param property The other property.
     */
    public boolean equals(CssProperty property) {
        CssElevation other;
        try {
            other = (CssElevation) property;
        } catch (ClassCastException cc) {
            return false;
        }
        if (identValue != null) {
            return ((angleValue == null) && (other.angleValue == null) &&
                    (identValue.equals(other.identValue)));
        }
        return ((other.identValue == null) &&
                (angleValue.equals(other.angleValue)));
    }


    private CssIdent checkIdent(ApplContext ac, CssIdent ident)
            throws InvalidParamException {
        int hash = ident.hashCode();
        for (int i = 0; i < elValues.length; i++) {
            if (hash_values[i] == hash) {
                return ident;
            }
        }

        throw new InvalidParamException("value", ident.toString(),
                getPropertyName(), ac);
    }
}
Received on Sunday, 11 September 2011 20:30:28 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:17:46 UTC