API Overview API Index Package Overview Direct link to this page
JavaOnTracks 0.1.2
  net.jot.web.widget. JOTWidgetBaseProperties View Javadoc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113

/*
 * JavaOnTrack/Jotwiki
 * Thibaut Colar.
 * tcolar-jot AT colar  DOT net
 */

package net.jot.web.widget;

import java.util.Hashtable;

/**
 * Base properties of a widget.
 * For most widget you will want to create an ovveride of this to:
 * - redefine some values.
 * - add some other propertiers unique to your widget.
 * @author thibautc
 */
public class JOTWidgetBaseProperties {
    // CONSTANTS
 
    public final static String PROP_WIDTH="Width";
    public final static String PROP_HEIGHT="Height";
    public final static String PROP_BORDER_TYPE="BorderType";
    public final static String PROP_BORDER_WIDTH="BorderWidth";
    public final static String PROP_BG_COLOR="bgColor";
    public final static String PROP_REFRESH_EVERY="RefreshEvery";

    public final static String VAL_HEIGHT_AUTO= "-1";
    public final static String VAL_BORDER_TYPE_SOLID="solid";
    public final static String VAL_BORDER_TYPE__DASH="dashes";
    public final static String VAL_BORDER_TYPE__DOTTED="dotted";
    public final static String VAL_BORDER_THICKNESS_NONE="0px";
    public final static String VAL_BORDER_THICKNESS_THIN="1px";
    public final static String VAL_BORDER_THICKNESS_MEDIUM="2px";
    public final static String VAL_BORDER_THICKNESS_THICK="3px";
    public final static String VAL_BG_WHITE="#FFFFFF";
    public final static String VAL_BG_BLUE="#0000FF";
    public final static String VAL_BG_TRANSPARENT="";
    public final static String VAL_AUTO_REFRESH_NEVER="Never";
    

    // store
    private Hashtable store=new Hashtable();
    
    public JOTWidgetBaseProperties()
    {
        // defaults
        /*addProperty(PROP_HEIGHT,new JOTWidgetProperty(JOTWidgetProperty.TYPE_SELECT,new String[]{"12"},"12"));
        addProperty(PROP_WIDTH,new JOTWidgetProperty(JOTWidgetProperty.TYPE_SELECT,new String[]{"12",},"12"));
        addProperty(PROP_BORDER_TYPE,new JOTWidgetProperty(JOTWidgetProperty.TYPE_SELECT,new String[]{VAL_BORDER_TYPE_SOLID,VAL_BORDER_TYPE__DASH,VAL_BORDER_TYPE__DOTTED},VAL_BORDER_TYPE_SOLID));
        addProperty(PROP_BG_COLOR,new JOTWidgetProperty(JOTWidgetProperty.TYPE_SELECT,new String[]{VAL_BG_TRANSPARENT,VAL_BG_WHITE,VAL_BG_BLUE},VAL_BG_TRANSPARENT));
        addProperty(PROP_BORDER_WIDTH,new JOTWidgetProperty(JOTWidgetProperty.TYPE_SELECT,new String[]{VAL_BORDER_THICKNESS_NONE,VAL_BORDER_THICKNESS_THIN,VAL_BORDER_THICKNESS_MEDIUM,VAL_BORDER_THICKNESS_THICK},VAL_BORDER_THICKNESS_THIN));
        addProperty(PROP_REFRESH_EVERY,new JOTWidgetProperty(JOTWidgetProperty.TYPE_SELECT, new String[]{VAL_AUTO_REFRESH_NEVER,"1","2","3","5","10","15","20","30","45","60","120","180","240","300","600","900","1800","3600"},VAL_AUTO_REFRESH_NEVER));*/
   }

    public void addProperty(String propName, JOTWidgetProperty prop)
    {
        store.put(propName, prop);
    }
    
    public Hashtable getAllProperties()
    {
        return store;
    }

    public JOTWidgetProperty getProperty(String key)
    {
        return (JOTWidgetProperty)store.get(key);
    }

    public String getPropertyDefaultValue(String key, Hashtable options, String fallbackValue)
    {
        if(options!=null && options.get(key)!=null)
            return (String)options.get(key);
        
        JOTWidgetProperty prop=(JOTWidgetProperty)getProperty(key);
        String val=fallbackValue;
        if (prop!=null && prop.getDefaultValue()!=null)
        {
            val=prop.getDefaultValue();
        }
        return val;
                
    }

    public void updatePropertyDefaultValue(String key, String value)
    {
        JOTWidgetProperty prop = (JOTWidgetProperty)store.get(key);
        if(prop!=null)
            prop.setDefaultValue(value);
    }
    
    /**
     * -1 if never
     * @return
     */
    public int getRefreshEvery()
    {
        String val=getPropertyDefaultValue(JOTWidgetBaseProperties.PROP_REFRESH_EVERY,null,JOTWidgetBaseProperties.VAL_AUTO_REFRESH_NEVER);
        if(val==null || val.equals(VAL_AUTO_REFRESH_NEVER))
            val="-1";
        return new Integer(val).intValue();
    }

    public void removeProperty(String key)
    {
        store.remove(key);
    }
    // TODO: background image / background repeat??
    // TODO: marging, padding top,left,right,bottom
    // TODO: text align, vertical align
    
}

Generated By: JavaOnTracks Doclet 0.1.5     ©Thibaut Colar