Sat, 17 Oct 2020 19:56:50 +0200
completes feature: project components
package de.uapcore.lightpit.types; public final class WebColor { private final String hex; /** * Constructs a color object from a hex string. * @param hex the 6 digits hex string optionally preceded by a hash symbol * @throws IllegalArgumentException if the given string does not specify a color */ public WebColor(String hex) throws IllegalArgumentException { this.hex = (hex.startsWith("#") ? hex : ("#"+hex)).toUpperCase(); if (!this.hex.matches("#[0-9A-F]{6}")) throw new IllegalArgumentException(hex+" is not a color"); } /** * Returns the hex representation without th leading hash symbol. * @return the hex representation of this color (e.g. FF0000 for red) */ public String getHex() { return hex.substring(1); } @Override public String toString() { return hex; } }