1 package com.irtimaled.bbor.client.config;
3 public class HexColor {
4 private final String value;
5 private final boolean hasAlpha;
7 private HexColor(String value, boolean hasAlpha) {
9 this.hasAlpha = hasAlpha;
12 public static HexColor from(String value) {
13 String lowerValue = value.toLowerCase();
14 if (lowerValue.length() == 7 &&
15 lowerValue.matches("#[0-9a-f]{6}")) return new HexColor(lowerValue, false);
16 if (lowerValue.length() == 9 &&
17 lowerValue.matches("#[0-9a-f]{8}")) return new HexColor(lowerValue, true);
22 public String getValue() {
26 public boolean hasAlpha() {
31 public String toString() {
36 public int hashCode() {
37 return value.hashCode();
41 public boolean equals(Object obj) {
42 if (this == obj) return true;
43 if (obj == null || getClass() != obj.getClass()) return false;
44 HexColor hexColor = (HexColor) obj;
45 return value.equals(hexColor.value);