src/main/java/de/uapcore/lightpit/types/WebColor.java

Sat, 17 Oct 2020 19:56:50 +0200

author
Mike Becker <universe@uap-core.de>
date
Sat, 17 Oct 2020 19:56:50 +0200
changeset 134
f47e82cd6077
parent 127
6105ee2cceaf
permissions
-rw-r--r--

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;
    }
}

mercurial