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

Thu, 15 Oct 2020 14:01:49 +0200

author
Mike Becker <universe@uap-core.de>
date
Thu, 15 Oct 2020 14:01:49 +0200
changeset 129
a09d5c59351a
parent 127
6105ee2cceaf
permissions
-rw-r--r--

add components to navmenu

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