Package com.helger.css.property
Class AbstractCSSProperty
- java.lang.Object
-
- com.helger.css.property.AbstractCSSProperty
-
- All Implemented Interfaces:
ICSSVersionAware
,ICSSProperty
- Direct Known Subclasses:
CSSPropertyColor
,CSSPropertyColors
,CSSPropertyDouble
,CSSPropertyEnum
,CSSPropertyFree
,CSSPropertyLong
,CSSPropertyNumber
,CSSPropertyNumbers
,CSSPropertyURL
@NotThreadSafe public abstract class AbstractCSSProperty extends Object implements ICSSProperty
Abstract base class for implementingICSSProperty
- Author:
- Philip Helger
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractCSSProperty(ECSSProperty eProp, ECSSVendorPrefix eVendorPrefix, ICSSPropertyCustomizer aCustomizer)
Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
ICSSPropertyCustomizer
getCustomizer()
int
getMaximumArgumentCount()
int
getMinimumArgumentCount()
ECSSVersion
getMinimumCSSVersion()
ECSSProperty
getProp()
String
getPropertyName()
ECSSVendorPrefix
getVendorPrefix()
int
hashCode()
static boolean
isValidPropertyValue(String sValue)
boolean
isValidValue(String sValue)
Check if the passed value is valid for this property according to the defined rule.ICSSValue
newValue(String sValue, boolean bIsImportant)
Create a new CSS value with this property and the specified value.String
toString()
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.helger.css.property.ICSSProperty
getClone, getClone, newImportantValue, newImportantValue, newValue, newValue, newValue
-
-
-
-
Constructor Detail
-
AbstractCSSProperty
protected AbstractCSSProperty(@Nonnull ECSSProperty eProp, @Nullable ECSSVendorPrefix eVendorPrefix, @Nullable ICSSPropertyCustomizer aCustomizer)
Constructor- Parameters:
eProp
- The base property to use. May not benull
.eVendorPrefix
- The vendor prefix to be used. May benull
.aCustomizer
- The customizer to be used. May benull
.
-
-
Method Detail
-
getMinimumCSSVersion
@Nonnull public final ECSSVersion getMinimumCSSVersion()
- Specified by:
getMinimumCSSVersion
in interfaceICSSVersionAware
- Returns:
- The minimum CSS version that is required to read or write this
artifact. May not be
null
.
-
getProp
@Nonnull public final ECSSProperty getProp()
- Specified by:
getProp
in interfaceICSSProperty
- Returns:
- The underlying base property. Never
null
.
-
getVendorPrefix
@Nullable public final ECSSVendorPrefix getVendorPrefix()
- Specified by:
getVendorPrefix
in interfaceICSSProperty
- Returns:
- The vendor prefix to be used. May be
null
.
-
getPropertyName
@Nonnull @Nonempty public final String getPropertyName()
- Specified by:
getPropertyName
in interfaceICSSProperty
- Returns:
- The property name including an eventually contained vendor prefix.
Neither
null
nor empty.
-
getCustomizer
@Nullable public final ICSSPropertyCustomizer getCustomizer()
- Specified by:
getCustomizer
in interfaceICSSProperty
- Returns:
- The CSS customizer assigned to this property. May be
null
.
-
getMinimumArgumentCount
@Nonnegative @OverrideOnDemand public int getMinimumArgumentCount()
- Specified by:
getMinimumArgumentCount
in interfaceICSSProperty
- Returns:
- The minimum number of arguments for this property.
-
getMaximumArgumentCount
@Nonnegative @OverrideOnDemand public int getMaximumArgumentCount()
- Specified by:
getMaximumArgumentCount
in interfaceICSSProperty
- Returns:
- The maximum number of arguments for this property.
-
isValidValue
@OverridingMethodsMustInvokeSuper public boolean isValidValue(@Nullable String sValue)
Description copied from interface:ICSSProperty
Check if the passed value is valid for this property according to the defined rule.- Specified by:
isValidValue
in interfaceICSSProperty
- Parameters:
sValue
- The value to check. May benull
.- Returns:
true
if the value is valid,false
otherwise
-
newValue
@Nonnull public ICSSValue newValue(@Nonnull @Nonempty String sValue, boolean bIsImportant)
Description copied from interface:ICSSProperty
Create a new CSS value with this property and the specified value.- Specified by:
newValue
in interfaceICSSProperty
- Parameters:
sValue
- The CSS String value. May neither benull
nor empty.bIsImportant
-true
if it is an important value,false
if not- Returns:
- Never
null
.
-
-