view flys-artifacts/src/main/java/de/intevation/flys/themes/ThemeAccess.java @ 1754:8e6615ad60b8

Added some simple caching for themes. Only used in sticky annotations by now. flys-artifacts/trunk@3057 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Fri, 21 Oct 2011 15:19:49 +0000
parents
children 2336927cb096
line wrap: on
line source
package de.intevation.flys.utils;

import java.awt.Color;
import java.awt.Font;

import org.w3c.dom.Document;


public class ThemeAccess
{
    protected Document theme;

    protected Integer lineWidth;

    protected Color   lineColor;
    protected Color   textColor;
    protected Font    font;
    protected String  textOrientation;
    protected Color   textBackground;
    protected Boolean showTextBackground;

    public ThemeAccess(Document theme) {
        this.theme = theme;
    }

    public int parseLineWidth() {
        if (lineWidth == null) {
            lineWidth = ThemeUtil.parseLineWidth(theme);
        }
        return lineWidth;
    }

    public Color parseLineColorField() {
        if (lineColor == null) {
            lineColor = ThemeUtil.parseLineColorField(theme);
            if (lineColor == null) {
                lineColor = Color.BLACK;
            }
        }
        return lineColor;
    }

    public Color parseTextColor() {
        if (textColor == null) {
            textColor = ThemeUtil.parseTextColor(theme);
            if (textColor == null) {
                textColor = Color.BLACK;
            }
        }
        return textColor;
    }

    public Font parseTextFont() {
        if (font == null) {
            font = ThemeUtil.parseTextFont(theme);
            if (font == null) {
                font = new Font("Arial", Font.BOLD, 10);
            }
        }
        return font;
    }

    public String parseTextOrientation() {
        if (textOrientation == null) {
            textOrientation = ThemeUtil.parseTextOrientation(theme);
            if (textOrientation == null) {
                textOrientation = "horizontal";
            }
        }
        return textOrientation;
    }


    public Color parseTextBackground() {
        if (textBackground == null) {
            textBackground = ThemeUtil.parseTextBackground(theme);
            if (textBackground == null) {
                textBackground = Color.WHITE;
            }
        }
        return textBackground;
    }

    public boolean parseShowTextBackground() {
        if (showTextBackground == null) {
            showTextBackground = ThemeUtil.parseShowTextBackground(theme);
        }
        return showTextBackground;
    }

    /**
    more of this
    */

}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org