01: /*
02: * Copyright 2006-2007 Pentaho Corporation. All rights reserved.
03: * This software was developed by Pentaho Corporation and is provided under the terms
04: * of the Mozilla Public License, Version 1.1, or any later version. You may not use
05: * this file except in compliance with the license. If you need a copy of the license,
06: * please go to http://www.mozilla.org/MPL/MPL-1.1.txt.
07: *
08: * Software distributed under the Mozilla Public License is distributed on an "AS IS"
09: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. Please refer to
10: * the license for the specific language governing your rights and limitations.
11: *
12: * Additional Contributor(s): Martin Schmid gridvision engineering GmbH
13: */
14: package org.pentaho.reportdesigner.lib.common.xml;
15:
16: import org.jetbrains.annotations.NotNull;
17: import org.jetbrains.annotations.Nullable;
18:
19: import java.awt.*;
20: import java.lang.reflect.Field;
21:
22: /**
23: * User: Martin
24: * Date: 06.02.2006
25: * Time: 13:30:43
26: */
27: public class ColorConverter implements ObjectConverter {
28: @NotNull
29: public Color getObject(@NotNull
30: String s) {
31: //noinspection ConstantConditions
32: if (s == null) {
33: throw new IllegalArgumentException("s must not be null");
34: }
35:
36: int i = s.indexOf(',');
37: int i2 = s.indexOf(',', i + 1);
38: int i3 = s.indexOf(',', i2 + 1);
39:
40: int d1 = Integer.parseInt(s.substring(0, i).trim());
41: int d2 = Integer.parseInt(s.substring(i + 1, i2).trim());
42: int d3 = Integer.parseInt(s.substring(i2 + 1, i3).trim());
43: int d4 = Integer.parseInt(s.substring(i3 + 1).trim());
44: return new Color(d1, d2, d3, d4);
45: }
46:
47: @NotNull
48: public String getString(@NotNull
49: Object obj) {
50: Color p = (Color) obj;
51: return p.getRed() + ", " + p.getGreen() + ", " + p.getBlue()
52: + ", " + p.getAlpha();
53: }
54:
55: public void configure(@Nullable
56: XMLContext xmlContext, @Nullable
57: Field field) {
58: }
59: }
|