source: branches/2.2/jabberit_messenger/java_source/src/nu/fw/jeti/jabber/elements/XDataFieldBuilder.java @ 3102

Revision 3102, 2.2 KB checked in by amuller, 14 years ago (diff)

Ticket #986 - Efetuado merge para o Branch 2.2( atualizacao do modulo)

  • Property svn:executable set to *
Line 
1// Created on 27-jul-2003
2package nu.fw.jeti.jabber.elements;
3
4import java.util.LinkedList;
5import java.util.List;
6
7/**
8 * @author E.S. de Boer
9 *
10 */
11public class XDataFieldBuilder
12{
13        private String desc;//multi add line end
14        public String label;
15        public String var;
16        public String type;
17        private List options;
18        public boolean required=false;
19        private String value; //multi add line end
20       
21        public void reset()
22        {
23                desc = null;
24                label = null;
25                var=null;
26                type=null;
27                options = null;
28                required=false;
29                value=null;
30        }
31
32        /**
33         * adds a description (multiple calls wil be added with an added end of line)
34         * @param description
35         */
36        public void addDescription(String description)
37        {
38                if(desc == null) desc = description;
39                else
40                {
41                        desc = desc + "\n" + description;
42                }
43        }
44
45        public String getDescription()
46        {
47                return desc;
48        }
49       
50        /**
51         * adds a value (multiple calls wil be added with an added end of line)
52         * @param value
53         */
54        public void addValue(String value)
55        {
56                if(this.value == null) this.value = value;
57                else
58                {
59                        this.value = this.value + "\n" + value;
60                }
61        }
62
63        public String getValue()
64        {
65                return value;
66        }
67       
68        /**
69         * adds an option
70         * @param value
71         */
72        public void addOption(String value)
73        {
74                addOption(null,value);
75        }
76       
77        /**
78         * adds an option
79         * @param label optional label
80         * @param value
81         */
82        public void addOption(String label, String value)
83        {
84                if(options == null) options = new LinkedList();
85                options.add(new String[]{label,value});
86        }
87
88        /**
89         * returns options as a List containing String[]
90         * with on position 0 the label and on position 1 the value
91         * @return List
92         */
93        public List getOptions()
94        {
95                return options;
96        }
97       
98        public XDataField build()
99        {
100                checkType();
101                return new XDataField(this);
102        }
103       
104        private void checkType()
105        {
106                if(type == null) type = "text-single";
107                else if(type.equals("boolean") || type.equals("fixed") || type.equals("hidden") || type.equals("jid-multi")|| type.equals("jid-single")|| type.equals("list-multi")|| type.equals("list-single")|| type.equals("text-multi")|| type.equals("text-private")|| type.equals("text-single"));
108                else  type = "text-single";
109        }
110       
111}
112/*
113 * Overrides for emacs
114 * Local variables:
115 * tab-width: 4
116 * End:
117 */
Note: See TracBrowser for help on using the repository browser.