Interface ICSSProperty

All Superinterfaces:
ICSSVersionAware
All Known Implementing Classes:
AbstractCSSProperty, AbstractCSSPropertyEnums, CSSPropertyColor, CSSPropertyColors, CSSPropertyDouble, CSSPropertyEnum, CSSPropertyEnumOrColor, CSSPropertyEnumOrColors, CSSPropertyEnumOrInt, CSSPropertyEnumOrNumber, CSSPropertyEnumOrNumbers, CSSPropertyEnumOrRect, CSSPropertyEnumOrURL, CSSPropertyEnums, CSSPropertyFree, CSSPropertyLong, CSSPropertyNumber, CSSPropertyNumbers, CSSPropertyURL

public interface ICSSProperty extends ICSSVersionAware
Base interface for a single CSS property.
Author:
Philip Helger
See Also:
  • Method Details

    • getProp

      Returns:
      The underlying base property. Never null.
    • getVendorPrefix

      @Nullable ECSSVendorPrefix getVendorPrefix()
      Returns:
      The vendor prefix to be used. May be null.
      Since:
      3.9.0
    • getPropertyName

      @Nonnull @Nonempty String getPropertyName()
      Returns:
      The property name including an eventually contained vendor prefix. Neither null nor empty.
      Since:
      3.9.0
    • getCustomizer

      Returns:
      The CSS customizer assigned to this property. May be null.
    • getMinimumArgumentCount

      @Nonnegative int getMinimumArgumentCount()
      Returns:
      The minimum number of arguments for this property.
      Since:
      3.7.4
    • getMaximumArgumentCount

      @Nonnegative int getMaximumArgumentCount()
      Returns:
      The maximum number of arguments for this property.
      Since:
      3.7.4
    • isValidValue

      boolean isValidValue(@Nullable String sValue)
      Check if the passed value is valid for this property according to the defined rule.
      Parameters:
      sValue - The value to check. May be null.
      Returns:
      true if the value is valid, false otherwise
    • newValue

      @Nonnull ICSSValue newValue(@Nonnull @Nonempty String sValue, boolean bImportant)
      Create a new CSS value with this property and the specified value.
      Parameters:
      sValue - The CSS String value. May neither be null nor empty.
      bImportant - true if it is an important value, false if not
      Returns:
      Never null.
    • newValue

      @Nonnull default ICSSValue newValue(@Nonnull @Nonempty String sValue)
      Create a new CSS value with this property and the specified value. This is a shortcut for newValue (sValue, false).
      Parameters:
      sValue - The CSS String value. May neither be null nor empty.
      Returns:
      Never null.
    • newImportantValue

      @Nonnull default ICSSValue newImportantValue(@Nonnull @Nonempty String sValue)
      Create a new important CSS value with this property and the specified value. This is a shortcut for newValue (sValue, true).
      Parameters:
      sValue - The CSS String value. May neither be null nor empty.
      Returns:
      Never null.
    • newValue

      @Nonnull default ICSSValue newValue(@Nonnull ICSSNamedColor aColor, boolean bImportant)
      Create a new CSS value with this property and the specified named color.
      Parameters:
      aColor - The CSS color value
      bImportant - true if it is an important value, false if not
      Returns:
      Never null.
    • newValue

      @Nonnull default ICSSValue newValue(@Nonnull ICSSNamedColor aColor)
      Create a new CSS value with this property and the specified named color. This is a shortcut for newValue (aColor, false).
      Parameters:
      aColor - The CSS color value
      Returns:
      Never null.
    • newImportantValue

      @Nonnull default ICSSValue newImportantValue(@Nonnull ICSSNamedColor aColor)
      Create a new important CSS value with this property and the specified named color. This is a shortcut for newValue (aColor, true).
      Parameters:
      aColor - The CSS color value
      Returns:
      Never null.
    • getClone

      Get a clone of this property with another (or the same) base property.
      Parameters:
      eProp - The base property to use. May not be null.
      Returns:
      Never null
    • getClone

      Get a clone of this property with the same base property but a different vendor prefix.
      Parameters:
      eVendorPrefix - The new vendor prefix to use. May be null.
      Returns:
      Never null
      Since:
      3.9.0