/** * gets the corresponding object for the given {@code cssValue} or null for invalid cssValue. * * @param cssValue the css property value without including <code>!important</code> in it. * @return the corresponding object for the given {@code cssValue} or null for invalid cssValue. * @since 1.0.0 * @author WFF */ public static BorderRightStyle getThis(final String cssValue) { final String enumString = TagStringUtil.toUpperCase(cssValue).replace("-", "_"); BorderRightStyle correspondingObject = null; try { correspondingObject = valueOf(enumString); } catch (final IllegalArgumentException e) { } return correspondingObject; }
/** * @param cssValue * @return true if the given {@code cssValue} is valid. * @since 1.0.0 * @author WFF */ public static boolean isValid(final String cssValue) { if (cssValue == null) { return false; } final String trimmedCssValue = cssValue.trim(); if (trimmedCssValue.isEmpty()) { return false; } final String trimmedCssValueLowerCase = TagStringUtil.toLowerCase(trimmedCssValue); if (INITIAL.equals(trimmedCssValueLowerCase) || INHERIT.equals(trimmedCssValueLowerCase) || TRANSPARENT.equals(trimmedCssValueLowerCase)) { return true; } if (CssColorName.isValid(trimmedCssValue)) { return true; } if (RgbCssValue.isValid(trimmedCssValue)) { return true; } if (RgbaCssValue.isValid(trimmedCssValue)) { return true; } if (HslCssValue.isValid(trimmedCssValue)) { return true; } if (HslaCssValue.isValid(trimmedCssValue)) { return true; } try { if (!trimmedCssValue.startsWith("#")) { return false; } final long value = Long.parseLong(cssValue.replaceFirst("[#]", ""), 16); return !(value > CommonConstants.FFFFFF_HEX_VALUE || value < 0); } catch (final NumberFormatException ex) { } return false; }
/** * border-right-style:none|hidden|dotted|dashed|solid|double|groove|ridge|inset| * outset|initial|inherit; * * @author WFF * @since 1.0.0 */ public enum BorderRightStyle implements CssProperty { NONE, HIDDEN, DOTTED, DASHED, SOLID, DOUBLE, GROOVE, RIDGE, INSET, OUTSET, INITIAL, INHERIT; private final String upperCaseSuperToString = super.toString().replace("_", "-"); private final String superToString = TagStringUtil.toLowerCase(upperCaseSuperToString); private final String toString = getCssName() + ": " + getCssValue(); private static final Collection<String> UPPER_CASE_SUPER_TO_STRINGS; // the lowest length value private static final int LOWEST_LENGTH; // the highest length value private static final int HIGHEST_LENGTH; static { Collection<String> upperCaseSuperToStringsTemp = new ArrayList<String>(); int min = values()[0].upperCaseSuperToString.length(); int max = 0; for (int i = 0; i < values().length; i++) { final int length = values()[i].upperCaseSuperToString.length(); if (max < length) { max = length; } if (min > length) { min = length; } upperCaseSuperToStringsTemp.add(values()[i].upperCaseSuperToString); } LOWEST_LENGTH = min; HIGHEST_LENGTH = max; if (values().length > 10) { upperCaseSuperToStringsTemp = new HashSet<String>(upperCaseSuperToStringsTemp); } UPPER_CASE_SUPER_TO_STRINGS = upperCaseSuperToStringsTemp; } private BorderRightStyle() {} /* * (non-Javadoc) * * @see com.webfirmframework.wffweb.css.CssProperty#getName() * * @since 1.0.0 * * @author WFF */ @Override public String getCssName() { return CssNameConstants.BORDER_RIGHT_STYLE; } @Override public String getCssValue() { return superToString; } @Override public String toString() { return toString; } /** * checks whether the given given {@code cssValue} is valid for this css property, i.e. whether it * can have a corresponding object from it. * * @param cssValue * @return true if the given {@code cssValue} has a corresponding object. * @since 1.0.0 * @author WFF */ public static boolean isValid(final String cssValue) { return CssEnumUtil.contains( cssValue, UPPER_CASE_SUPER_TO_STRINGS, LOWEST_LENGTH, HIGHEST_LENGTH); } /** * gets the corresponding object for the given {@code cssValue} or null for invalid cssValue. * * @param cssValue the css property value without including <code>!important</code> in it. * @return the corresponding object for the given {@code cssValue} or null for invalid cssValue. * @since 1.0.0 * @author WFF */ public static BorderRightStyle getThis(final String cssValue) { final String enumString = TagStringUtil.toUpperCase(cssValue).replace("-", "_"); BorderRightStyle correspondingObject = null; try { correspondingObject = valueOf(enumString); } catch (final IllegalArgumentException e) { } return correspondingObject; } }