/* * Copyright 2015 JBoss Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.optaconf.util; import java.util.HashMap; import java.util.Map; import java.util.Random; public class TangoCssFactory { public static final String CHAMELEON_1 = "chameleon-1"; public static final String CHAMELEON_2 = "chameleon-2"; public static final String CHAMELEON_3 = "chameleon-3"; public static final String BUTTER_1 = "butter-1"; public static final String BUTTER_2 = "butter-2"; public static final String BUTTER_3 = "butter-3"; public static final String SKY_BLUE_1 = "sky-blue-1"; public static final String SKY_BLUE_2 = "sky-blue-2"; public static final String SKY_BLUE_3 = "sky-blue-3"; public static final String CHOCOLATE_1 = "chocolate-1"; public static final String CHOCOLATE_2 = "chocolate-2"; public static final String CHOCOLATE_3 = "chocolate-3"; public static final String PLUM_1 = "plum-1"; public static final String PLUM_2 = "plum-2"; public static final String PLUM_3 = "plum-3"; public static final String SCARLET_1 = "scarlet-1"; public static final String SCARLET_2 = "scarlet-2"; public static final String SCARLET_3 = "scarlet-3"; public static final String ORANGE_1 = "orange-1"; public static final String ORANGE_2 = "orange-2"; public static final String ORANGE_3 = "orange-3"; public static final String ALUMINIUM_1 = "aluminium-1"; public static final String ALUMINIUM_2 = "aluminium-2"; public static final String ALUMINIUM_3 = "aluminium-3"; public static final String ALUMINIUM_4 = "aluminium-4"; public static final String ALUMINIUM_5 = "aluminium-5"; public static final String ALUMINIUM_6 = "aluminium-6"; public static final String[] COLORS = {ALUMINIUM_1, ALUMINIUM_2, ALUMINIUM_3, ALUMINIUM_4, ALUMINIUM_5, ALUMINIUM_6, BUTTER_1, BUTTER_2, BUTTER_3, CHAMELEON_1, CHAMELEON_2, CHAMELEON_3, CHOCOLATE_1, CHOCOLATE_2, CHOCOLATE_3, ORANGE_1, ORANGE_2, ORANGE_3, PLUM_1, PLUM_2, PLUM_3, SCARLET_1, SCARLET_2, SCARLET_3, SKY_BLUE_1, SKY_BLUE_2, SKY_BLUE_3}; private Map<String, String> colorMap; private Random r; public TangoCssFactory() { colorMap = new HashMap<String, String>(); r = new Random(0); } public String pickCssClass(String id) { String cssClass = colorMap.get(id); if (cssClass == null) { cssClass = nextCssClass(); while (colorMap.values().contains(cssClass)) { cssClass = nextCssClass(); } colorMap.put(id, cssClass); } return cssClass; } private String nextCssClass() { int Low = 0; int High = COLORS.length; int R = r.nextInt(High - Low) + Low; String cssClass = COLORS[R]; return cssClass; } }