001: /*
002:
003: ============================================================================
004: The Apache Software License, Version 1.1
005: ============================================================================
006:
007: Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
008:
009: Redistribution and use in source and binary forms, with or without modifica-
010: tion, are permitted provided that the following conditions are met:
011:
012: 1. Redistributions of source code must retain the above copyright notice,
013: this list of conditions and the following disclaimer.
014:
015: 2. Redistributions in binary form must reproduce the above copyright notice,
016: this list of conditions and the following disclaimer in the documentation
017: and/or other materials provided with the distribution.
018:
019: 3. The end-user documentation included with the redistribution, if any, must
020: include the following acknowledgment: "This product includes software
021: developed by the Apache Software Foundation (http://www.apache.org/)."
022: Alternately, this acknowledgment may appear in the software itself, if
023: and wherever such third-party acknowledgments normally appear.
024:
025: 4. The names "Batik" and "Apache Software Foundation" must not be
026: used to endorse or promote products derived from this software without
027: prior written permission. For written permission, please contact
028: apache@apache.org.
029:
030: 5. Products derived from this software may not be called "Apache", nor may
031: "Apache" appear in their name, without prior written permission of the
032: Apache Software Foundation.
033:
034: THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
035: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
036: FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
037: APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
038: INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-
039: DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
040: OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
041: ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
042: (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
043: THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
044:
045: This software consists of voluntary contributions made by many individuals
046: on behalf of the Apache Software Foundation. For more information on the
047: Apache Software Foundation, please see <http://www.apache.org/>.
048:
049: */
050:
051: package org.apache.batik.css.engine.value;
052:
053: import org.w3c.dom.DOMException;
054:
055: /**
056: * This interface represents a property value.
057: *
058: * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
059: * @version $Id$
060: */
061: public interface Value {
062:
063: /**
064: * A string representation of the current value.
065: */
066: String getCssText();
067:
068: /**
069: * A code defining the type of the value.
070: */
071: short getCssValueType();
072:
073: /**
074: * The type of the value.
075: */
076: short getPrimitiveType();
077:
078: /**
079: * This method is used to get the float value.
080: * @exception DOMException
081: * INVALID_ACCESS_ERR: Raised if the value doesn't contain a float
082: * value.
083: */
084: float getFloatValue() throws DOMException;
085:
086: /**
087: * This method is used to get the string value.
088: * @exception DOMException
089: * INVALID_ACCESS_ERR: Raised if the value doesn't contain a string
090: * value.
091: */
092: String getStringValue() throws DOMException;
093:
094: /**
095: * The red value of the RGB color.
096: * @exception DOMException
097: * INVALID_ACCESS_ERR: Raised if the value doesn't contain a RGB
098: * color value.
099: */
100: Value getRed() throws DOMException;
101:
102: /**
103: * The green value of the RGB color.
104: * @exception DOMException
105: * INVALID_ACCESS_ERR: Raised if the value doesn't contain a RGB
106: * color value.
107: */
108: Value getGreen() throws DOMException;
109:
110: /**
111: * The blue value of the RGB color.
112: * @exception DOMException
113: * INVALID_ACCESS_ERR: Raised if the value doesn't contain a RGB
114: * color value.
115: */
116: Value getBlue() throws DOMException;
117:
118: /**
119: * The number of <code>CSSValues</code> in the list. The range of valid
120: * values of the indices is <code>0</code> to <code>length-1</code>
121: * inclusive.
122: * @exception DOMException
123: * INVALID_ACCESS_ERR: Raised if the value doesn't contain a list
124: * value.
125: */
126: int getLength() throws DOMException;
127:
128: /**
129: * Used to retrieve a rule by ordinal index.
130: * @return The style rule at the <code>index</code> position in the
131: * list, or <code>null</code> if that is not a valid index.
132: * @exception DOMException
133: * INVALID_ACCESS_ERR: Raised if the value doesn't contain a list
134: * value.
135: */
136: Value item(int index) throws DOMException;
137:
138: /**
139: * The top value of the rect.
140: * @exception DOMException
141: * INVALID_ACCESS_ERR: Raised if the value doesn't contain a Rect
142: * value.
143: */
144: Value getTop() throws DOMException;
145:
146: /**
147: * The right value of the rect.
148: * @exception DOMException
149: * INVALID_ACCESS_ERR: Raised if the value doesn't contain a Rect
150: * value.
151: */
152: Value getRight() throws DOMException;
153:
154: /**
155: * The bottom value of the rect.
156: * @exception DOMException
157: * INVALID_ACCESS_ERR: Raised if the value doesn't contain a Rect
158: * value.
159: */
160: Value getBottom() throws DOMException;
161:
162: /**
163: * The left value of the rect.
164: * @exception DOMException
165: * INVALID_ACCESS_ERR: Raised if the value doesn't contain a Rect
166: * value.
167: */
168: Value getLeft() throws DOMException;
169:
170: /**
171: * The identifier value of the counter.
172: * @exception DOMException
173: * INVALID_ACCESS_ERR: Raised if the value doesn't contain a Counter
174: * value.
175: */
176: String getIdentifier() throws DOMException;
177:
178: /**
179: * The listStyle value of the counter.
180: * @exception DOMException
181: * INVALID_ACCESS_ERR: Raised if the value doesn't contain a Counter
182: * value.
183: */
184: String getListStyle() throws DOMException;
185:
186: /**
187: * The separator value of the counter.
188: * @exception DOMException
189: * INVALID_ACCESS_ERR: Raised if the value doesn't contain a Counter
190: * value.
191: */
192: String getSeparator() throws DOMException;
193: }
|