Class ExpressionValue

All Implemented Interfaces:
CSSExpressionValue, CSSMathValue, CSSPrimitiveValue, CSSTypedValue, CSSValue, Serializable, Cloneable
Direct Known Subclasses:
CalcValue

public class ExpressionValue extends TypedValue implements CSSExpressionValue
Expression container base class.
See Also:
  • Constructor Details

    • ExpressionValue

      public ExpressionValue()
    • ExpressionValue

      protected ExpressionValue(ExpressionValue copied)
  • Method Details

    • getExpression

      public CSSExpression getExpression()
      Description copied from interface: CSSExpressionValue
      Get the root expression corresponding to this calc() value.
      Specified by:
      getExpression in interface CSSExpressionValue
      Returns:
      the expression.
    • getStringValue

      public String getStringValue() throws DOMException
      Description copied from interface: CSSTypedValue
      If this value represents a string value, get it.

      This method is useful for values like strings, identifiers, URIs, element references, etc. For functions, it returns the function name.

      Specified by:
      getStringValue in interface CSSTypedValue
      Overrides:
      getStringValue in class TypedValue
      Returns:
      the string value.
      Throws:
      DOMException - INVALID_ACCESS_ERR if this value is not a string.
    • getFloatValue

      public float getFloatValue(short unitType) throws DOMException
      Description copied from interface: CSSTypedValue
      If this is a number, get its float value in the requested unit.
      Specified by:
      getFloatValue in interface CSSTypedValue
      Overrides:
      getFloatValue in class TypedValue
      Parameters:
      unitType - the requested unit type. If the type is CSS_OTHER, the value shall be returned as is, regardless of the unit that was set with.
      Returns:
      the float value in the requested unit.
      Throws:
      DOMException - INVALID_ACCESS_ERR if this value is not a number value or it could not be transformed to the desired unit (for example a relative value converted to an absolute one, for which a context is needed).
    • getCssText

      public String getCssText()
      Description copied from class: StyleValue
      Get a string representation of the current value.
      Specified by:
      getCssText in interface CSSValue
      Specified by:
      getCssText in class StyleValue
      Returns:
      the css text representing the value of this property.
    • getMinifiedCssText

      public String getMinifiedCssText(String propertyName)
      Description copied from interface: CSSValue
      Gives a minified version of the css text of the property.

      It may be customized for the given property name.

      Specified by:
      getMinifiedCssText in interface CSSValue
      Overrides:
      getMinifiedCssText in class StyleValue
      Parameters:
      propertyName - the property name.
      Returns:
      the minified css text.
    • writeCssText

      public void writeCssText(SimpleWriter wri) throws IOException
      Description copied from interface: CSSValue
      Serialize this value to a SimpleWriter.
      Specified by:
      writeCssText in interface CSSValue
      Parameters:
      wri - the SimpleWriter.
      Throws:
      IOException - if an error happened while writing.
    • setCssText

      public void setCssText(String cssText) throws DOMException
      Description copied from class: StyleValue
      Attempts to change this value to match the supplied css text.

      In css4j, it is not recommended to set property values using this method.

      Specified by:
      setCssText in interface CSSValue
      Overrides:
      setCssText in class StyleValue
      Parameters:
      cssText - the text value.
      Throws:
      DOMException - SYNTAX_ERR: Raised if the specified CSS string value has a syntax error (according to the attached property) or is unparsable.
      INVALID_MODIFICATION_ERR: Raised if the specified CSS string value represents a different type of values than the values allowed by the CSS property.
      NO_MODIFICATION_ALLOWED_ERR: Raised if this value is read-only.
    • setExpectInteger

      public void setExpectInteger()
      Description copied from interface: CSSPrimitiveValue
      This value is expected to contain an integer.

      If this value is a non-integer number, an exception will be thrown immediately.

      If this value is a calc() that ever produces a non-integer number, the value shall be rounded to the nearest integer.

      If the value is a proxy that ever produces other than an integer number (without calc() involvement), an exception should be thrown later.

      Specified by:
      setExpectInteger in interface CSSPrimitiveValue
      Overrides:
      setExpectInteger in class PrimitiveValue
    • isExpectingInteger

      public boolean isExpectingInteger()
      Description copied from interface: CSSMathValue
      Whether this value expects an integer result that must be rounded.
      Specified by:
      isExpectingInteger in interface CSSMathValue
      Returns:
      true if the result of this computation must be rounded to the nearest integer.
    • computeUnitType

      public short computeUnitType()
      Perform a dimensional analysis of this expression and compute the unit type of the result.
      Specified by:
      computeUnitType in interface CSSMathValue
      Returns:
      the unit type of the result, as in CSSUnit.
    • matches

      public CSSValueSyntax.Match matches(CSSValueSyntax syntax)
      Description copied from class: StyleValue
      Verify if this value matches the given grammar.
      Specified by:
      matches in interface CSSValue
      Overrides:
      matches in class StyleValue
      Parameters:
      syntax - the syntax.
      Returns:
      the matching for the syntax.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class PrimitiveValue
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class PrimitiveValue
    • clone

      public ExpressionValue clone()
      Description copied from class: TypedValue
      Creates and returns a copy of this object.

      The object will be the same except for the subproperty flag, that will be disabled in the clone object.

      Specified by:
      clone in interface CSSExpressionValue
      Specified by:
      clone in interface CSSTypedValue
      Specified by:
      clone in interface CSSValue
      Specified by:
      clone in class TypedValue
      Returns:
      a copy of this object.