⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lexicalunitimpl.java

📁 cssparser -- CSS 的语法解析器。采用java语言编写。可用在服务端生成页面。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * LexicalUnitImpl.java * * Steady State CSS2 Parser * * Copyright (C) 1999, 2002 Steady State Software Ltd.  All rights reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA * * To contact the authors of the library, write to Steady State Software Ltd., * 49 Littleworth, Wing, Buckinghamshire, LU7 0JX, England * * http://www.steadystate.com/css/ * mailto:css@steadystate.co.uk * * $Id: LexicalUnitImpl.java,v 1.1.1.1 2003/12/28 21:23:08 davidsch Exp $ */package com.steadystate.css.parser;import java.io.Serializable;import org.w3c.css.sac.*;/**  * * @author  David Schweinsberg * @version $Release$ */public class LexicalUnitImpl implements LexicalUnit, Serializable {/*    public static final short SAC_OPERATOR_COMMA	= 0;    public static final short SAC_OPERATOR_PLUS		= 1;    public static final short SAC_OPERATOR_MINUS	= 2;    public static final short SAC_OPERATOR_MULTIPLY	= 3;    public static final short SAC_OPERATOR_SLASH	= 4;    public static final short SAC_OPERATOR_MOD		= 5;    public static final short SAC_OPERATOR_EXP		= 6;    public static final short SAC_OPERATOR_LT		= 7;    public static final short SAC_OPERATOR_GT		= 8;    public static final short SAC_OPERATOR_LE		= 9;    public static final short SAC_OPERATOR_GE		= 10;    public static final short SAC_OPERATOR_TILDE	= 11;    public static final short SAC_INHERIT		= 12;    public static final short SAC_INTEGER		= 13;    public static final short SAC_REAL		        = 14;    public static final short SAC_EM		= 15;    public static final short SAC_EX		= 16;    public static final short SAC_PIXEL		= 17;    public static final short SAC_INCH		= 18;    public static final short SAC_CENTIMETER	= 19;    public static final short SAC_MILLIMETER	= 20;    public static final short SAC_POINT		= 21;    public static final short SAC_PICA		= 22;    public static final short SAC_PERCENTAGE		= 23;    public static final short SAC_URI		        = 24;    public static final short SAC_COUNTER_FUNCTION	= 25;    public static final short SAC_COUNTERS_FUNCTION	= 26;    public static final short SAC_RGBCOLOR		= 27;    public static final short SAC_DEGREE		= 28;    public static final short SAC_GRADIAN		= 29;    public static final short SAC_RADIAN		= 30;    public static final short SAC_MILLISECOND		= 31;    public static final short SAC_SECOND		= 32;    public static final short SAC_HERTZ		        = 33;    public static final short SAC_KILOHERTZ		= 34;    public static final short SAC_IDENT		        = 35;    public static final short SAC_STRING_VALUE		= 36;    public static final short SAC_ATTR		        = 37;    public static final short SAC_RECT_FUNCTION		= 38;    public static final short SAC_UNICODERANGE		= 39;    public static final short SAC_SUB_EXPRESSION	= 40;    public static final short SAC_FUNCTION		= 41;    public static final short SAC_DIMENSION		= 42;*/    private short _type;    private LexicalUnit _next;    private LexicalUnit _prev;//    private int _intVal;    private float _floatVal;    private String _dimension;    private String _function;    private LexicalUnit _params;    private String _stringVal;    protected LexicalUnitImpl(LexicalUnit previous, short type) {        _type = type;        _prev = previous;        if (_prev != null) {            ((LexicalUnitImpl)_prev)._next = this;        }    }    /**     * Integer     */    protected LexicalUnitImpl(LexicalUnit previous, int value) {        this(previous, SAC_INTEGER);//        _intVal = value;        _floatVal = value;    }    /**     * Dimension     */    protected LexicalUnitImpl(LexicalUnit previous, short type, float value) {        this(previous, type);        _floatVal = value;    }    /**     * Unknown dimension     */    protected LexicalUnitImpl(            LexicalUnit previous,            short type,            String dimension,            float value) {        this(previous, type);        _dimension = dimension;        _floatVal = value;    }    /**     * String     */    protected LexicalUnitImpl(LexicalUnit previous, short type, String value) {        this(previous, type);        _stringVal = value;    }    /**     * Function     */    protected LexicalUnitImpl(            LexicalUnit previous,            short type,            String name,            LexicalUnit params) {        this(previous, type);        _function = name;        _params = params;    }    public short getLexicalUnitType() {        return _type;    }        public LexicalUnit getNextLexicalUnit() {        return _next;    }        public LexicalUnit getPreviousLexicalUnit() {        return _prev;    }        public int getIntegerValue() {//        return _intVal;        return (int) _floatVal;    }        public float getFloatValue() {        return _floatVal;    }        public String getDimensionUnitText() {        switch (_type) {        case SAC_EM:            return "em";        case SAC_EX:            return "ex";        case SAC_PIXEL:            return "px";        case SAC_INCH:            return "in";        case SAC_CENTIMETER:            return "cm";        case SAC_MILLIMETER:            return "mm";        case SAC_POINT:            return "pt";        case SAC_PICA:            return "pc";        case SAC_PERCENTAGE:            return "%";        case SAC_DEGREE:            return "deg";        case SAC_GRADIAN:            return "grad";        case SAC_RADIAN:            return "rad";        case SAC_MILLISECOND:            return "ms";        case SAC_SECOND:            return "s";        case SAC_HERTZ:            return "Hz";        case SAC_KILOHERTZ:            return "kHz";        case SAC_DIMENSION:            return _dimension;        }        return "";    }        public String getFunctionName() {        return _function;    }        public LexicalUnit getParameters() {        return _params;    }    public String getStringValue() {        return _stringVal;    }    public LexicalUnit getSubValues() {        return _params;    }        public String toString() {        StringBuffer sb = new StringBuffer();        switch (_type) {        case SAC_OPERATOR_COMMA:            sb.append(",");            break;        case SAC_OPERATOR_PLUS:            sb.append("+");            break;        case SAC_OPERATOR_MINUS:            sb.append("-");            break;        case SAC_OPERATOR_MULTIPLY:            sb.append("*");            break;        case SAC_OPERATOR_SLASH:            sb.append("/");            break;        case SAC_OPERATOR_MOD:            sb.append("%");            break;        case SAC_OPERATOR_EXP:            sb.append("^");            break;        case SAC_OPERATOR_LT:            sb.append("<");            break;        case SAC_OPERATOR_GT:            sb.append(">");            break;        case SAC_OPERATOR_LE:            sb.append("<=");            break;        case SAC_OPERATOR_GE:            sb.append(">=");            break;        case SAC_OPERATOR_TILDE:            sb.append("~");            break;        case SAC_INHERIT:            sb.append("inherit");            break;        case SAC_INTEGER:            sb.append(String.valueOf(getIntegerValue()));            break;        case SAC_REAL:            sb.append(trimFloat(getFloatValue()));            break;        case SAC_EM:        case SAC_EX:        case SAC_PIXEL:        case SAC_INCH:        case SAC_CENTIMETER:        case SAC_MILLIMETER:        case SAC_POINT:        case SAC_PICA:        case SAC_PERCENTAGE:        case SAC_DEGREE:        case SAC_GRADIAN:        case SAC_RADIAN:        case SAC_MILLISECOND:        case SAC_SECOND:        case SAC_HERTZ:        case SAC_KILOHERTZ:        case SAC_DIMENSION:            sb.append(trimFloat(getFloatValue()))              .append(getDimensionUnitText());            break;        case SAC_URI:            sb.append("url(").append(getStringValue()).append(")");            break;        case SAC_COUNTER_FUNCTION:            sb.append("counter(");            appendParams(sb, _params);            sb.append(")");            break;        case SAC_COUNTERS_FUNCTION:            sb.append("counters(");            appendParams(sb, _params);            sb.append(")");            break;        case SAC_RGBCOLOR:            sb.append("rgb(");            appendParams(sb, _params);            sb.append(")");            break;        case SAC_IDENT:            sb.append(getStringValue());            break;        case SAC_STRING_VALUE:            sb.append("\"").append(getStringValue()).append("\"");            break;        case SAC_ATTR:            sb.append("attr(");            appendParams(sb, _params);            sb.append(")");            break;        case SAC_RECT_FUNCTION:            sb.append("rect(");            appendParams(sb, _params);            sb.append(")");            break;        case SAC_UNICODERANGE:            sb.append(getStringValue());            break;        case SAC_SUB_EXPRESSION:            sb.append(getStringValue());            break;        case SAC_FUNCTION:            sb.append(getFunctionName());            appendParams(sb, _params);            sb.append(")");            break;        }        return sb.toString();    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -