1 /* 2 * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package org.openjdk.buildtools.generatenimbus; 27 28 class ComponentColor { 29 private String propertyName; 30 private String defaultColorVariableName; 31 private float saturationOffset = 0, brightnessOffset = 0; 32 private int alphaOffset = 0; 33 34 ComponentColor(String propertyName, 35 String defaultColorVariableName, 36 float saturationOffset, 37 float brightnessOffset, 38 int alphaOffset) { 39 this.propertyName = propertyName; 40 this.defaultColorVariableName = defaultColorVariableName; 41 this.saturationOffset = saturationOffset; 42 this.brightnessOffset = brightnessOffset; 43 this.alphaOffset = alphaOffset; 44 } 45 46 @Override 47 public boolean equals(Object o) { 48 if (this == o) { 49 return true; 50 } 51 if (o == null || getClass() != o.getClass()) { 52 return false; 53 } 54 55 ComponentColor c = (ComponentColor) o; 56 if (alphaOffset != c.alphaOffset) { 57 return false; 58 } 59 if (Float.compare(saturationOffset, c.saturationOffset) != 0) { 60 return false; 61 } 62 if (Float.compare(brightnessOffset, c.brightnessOffset) != 0) { 63 return false; 64 } 65 if (defaultColorVariableName != null ? !defaultColorVariableName.equals(c.defaultColorVariableName) : c.defaultColorVariableName != null) { 66 return false; 67 } 68 if (propertyName != null ? !propertyName.equals(c.propertyName) : c.propertyName != null) { 69 return false; 70 } 71 return true; 72 } 73 74 @Override 75 public int hashCode() { 76 int hash = 5; 77 hash = 61 * hash + (this.propertyName != null ? this.propertyName.hashCode() : 0); 78 hash = 61 * hash + (this.defaultColorVariableName != null ? this.defaultColorVariableName.hashCode() : 0); 79 hash = 61 * hash + Float.floatToIntBits(this.saturationOffset); 80 hash = 61 * hash + Float.floatToIntBits(this.brightnessOffset); 81 hash = 61 * hash + this.alphaOffset; 82 return hash; 83 } 84 85 public void write(StringBuilder sb) { 86 sb.append(" getComponentColor(c, \""). 87 append(propertyName).append("\", "). 88 append(defaultColorVariableName).append(", "). 89 append(saturationOffset).append("f, "). 90 append(brightnessOffset).append("f, "). 91 append(alphaOffset); 92 } 93 }