~brian-thomason/+junk/jasperreports3.7

1 by Brian Thomason
Initial import
1
/*
2
 * JasperReports - Free Java Reporting Library.
3
 * Copyright (C) 2001 - 2009 Jaspersoft Corporation. All rights reserved.
4
 * http://www.jaspersoft.com
5
 *
6
 * Unless you have purchased a commercial license agreement from Jaspersoft,
7
 * the following license terms apply:
8
 *
9
 * This program is part of JasperReports.
10
 *
11
 * JasperReports is free software: you can redistribute it and/or modify
12
 * it under the terms of the GNU Lesser General Public License as published by
13
 * the Free Software Foundation, either version 3 of the License, or
14
 * (at your option) any later version.
15
 *
16
 * JasperReports is distributed in the hope that it will be useful,
17
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
 * GNU Lesser General Public License for more details.
20
 * 
21
 * You should have received a copy of the GNU Lesser General Public License
22
 * along with JasperReports. If not, see <http://www.gnu.org/licenses/>.
23
 */
24
package net.sf.jasperreports.engine.util;
25
26
import java.awt.Color;
27
28
import net.sf.jasperreports.engine.type.ColorEnum;
29
30
31
/**
32
 * @author Teodor Danciu (teodord@users.sourceforge.net)
33
 * @version $Id: JRColorUtil.java 3712 2010-04-08 09:53:09Z teodord $
34
 */
35
public final class JRColorUtil
36
{
37
38
	/**
39
	 *
40
	 */
41
	public static final int COLOR_MASK = Integer.parseInt("FFFFFF", 16);
42
43
	/**
44
	 *
45
	 */
46
	public static String getColorHexa(Color color)
47
	{
48
		String hexa = Integer.toHexString(color.getRGB() & COLOR_MASK).toUpperCase();
49
		return ("000000" + hexa).substring(hexa.length());
50
	}
51
52
	/**
53
	 *
54
	 */
55
	public static Color getColor(String strColor, Color defaultColor)
56
	{
57
		Color color = null;
58
59
		if (strColor != null && strColor.length() > 0)
60
		{
61
			char firstChar = strColor.charAt(0);
62
			if (firstChar == '#')
63
			{
64
				color = new Color(Integer.parseInt(strColor.substring(1), 16));
65
			}
66
			else if ('0' <= firstChar && firstChar <= '9')
67
			{
68
				color = new Color(Integer.parseInt(strColor));
69
			}
70
			else
71
			{
72
				ColorEnum colorEnum = ColorEnum.getByName(strColor);
73
				if (colorEnum == null)
74
				{
75
					color = defaultColor;
76
				}
77
				else
78
				{
79
					color = colorEnum.getColor();
80
				}
81
			}
82
		}
83
84
		return color;
85
	}
86
87
88
	private JRColorUtil()
89
	{
90
	}
91
}