예제 #1
0
  /**
   * 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;
  }
예제 #2
0
  /**
   * @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;
  }
예제 #3
0
/**
 * 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;
  }
}