01 package de.java2html.options;
02 
03 import de.java2html.util.HtmlUtilities;
04 import de.java2html.util.RGB;
05 
06 /**
07  * Object defining color and other style options for output.
08  
09  @author Markus Gebhard
10  */
11 public class JavaSourceStyleEntry {
12   private RGB color;
13   private String htmlColor;
14   private boolean bold;
15   private boolean italic;
16 
17   public JavaSourceStyleEntry(RGB color) {
18     this(color, false, false);
19   }
20 
21   public JavaSourceStyleEntry(RGB color, boolean bold, boolean italic) {
22     this.color = color;
23     this.italic = italic;
24     this.bold = bold;
25   }
26 
27   @Override
28   public boolean equals(Object obj) {
29     if (!(obj instanceof JavaSourceStyleEntry)) {
30       return false;
31     }
32     final JavaSourceStyleEntry other = (JavaSourceStyleEntryobj;
33     return color.equals(other.color&& bold == other.bold && italic == other.italic;
34   }
35   
36   @Override
37   public int hashCode() {
38     return color.hashCode();
39   }
40 
41   /**
42    @deprecated As of Dec 21, 2003 (Markus Gebhard): object is immutable and cloning not necessary.
43    */
44   @Deprecated
45   public JavaSourceStyleEntry getClone() {
46     return new JavaSourceStyleEntry(color, bold, italic);
47   }
48 
49   public String getHtmlColor() {
50     if (htmlColor==null) {
51       htmlColor = HtmlUtilities.toHTML(getColor());
52     }
53     return htmlColor;
54   }
55 
56   public RGB getColor() {
57     return color;
58   }
59 
60   public boolean isBold() {
61     return bold;
62   }
63 
64   public boolean isItalic() {
65     return italic;
66   }
67 }