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

Thu, 15 Oct 2020 13:31:52 +0200

author
Mike Becker <universe@uap-core.de>
date
Thu, 15 Oct 2020 13:31:52 +0200
changeset 128
947d0f6a6a83
parent 127
6105ee2cceaf
permissions
-rw-r--r--

changes the way how to deal with child entities + adds component lead

127
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
1 package de.uapcore.lightpit.types;
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
2
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
3 public final class WebColor {
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
4
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
5 private final String hex;
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
6
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
7 /**
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
8 * Constructs a color object from a hex string.
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
9 * @param hex the 6 digits hex string optionally preceded by a hash symbol
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
10 * @throws IllegalArgumentException if the given string does not specify a color
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
11 */
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
12 public WebColor(String hex) throws IllegalArgumentException {
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
13 this.hex = (hex.startsWith("#") ? hex : ("#"+hex)).toUpperCase();
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
14 if (!this.hex.matches("#[0-9A-F]{6}"))
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
15 throw new IllegalArgumentException(hex+" is not a color");
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
16 }
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
17
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
18 /**
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
19 * Returns the hex representation without th leading hash symbol.
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
20 * @return the hex representation of this color (e.g. FF0000 for red)
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
21 */
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
22 public String getHex() {
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
23 return hex.substring(1);
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
24 }
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
25
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
26 @Override
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
27 public String toString() {
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
28 return hex;
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
29 }
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents:
diff changeset
30 }

mercurial