Don't use TypedDataItem.getText() for Unknown types from the URL.
[online-glom:gwt-glom.git] / src / main / java / org / glom / web / shared / TypedDataItem.java
1 /*
2  * Copyright (C) 2011 Openismus GmbH
3  *
4  * This file is part of GWT-Glom.
5  *
6  * GWT-Glom is free software: you can redistribute it and/or modify it
7  * under the terms of the GNU Lesser General Public License as published by the
8  * Free Software Foundation, either version 3 of the License, or (at your
9  * option) any later version.
10  *
11  * GWT-Glom is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
14  * for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public License
17  * along with GWT-Glom.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 package org.glom.web.shared;
21
22 import org.glom.web.shared.layout.LayoutItemField.GlomFieldType;
23
24 /**
25  * This specialisation of DataItem is used to hold can a primary key item.
26  * 
27  * @author Ben Konrath <ben@bagu.org>
28  */
29 @SuppressWarnings("serial")
30 public class TypedDataItem extends DataItem {
31         private boolean empty = true;
32         private GlomFieldType type = GlomFieldType.TYPE_INVALID;
33         private String unknown = null;
34
35         public TypedDataItem() {
36         }
37
38         public boolean isEmpty() {
39                 return empty;
40         }
41
42         /*
43          * (non-Javadoc)
44          * 
45          * @see org.glom.web.shared.DataItem#setBoolean(boolean)
46          */
47         @Override
48         public void setBoolean(boolean bool) {
49                 this.empty = false;
50                 this.type = GlomFieldType.TYPE_BOOLEAN;
51                 super.setBoolean(bool);
52         }
53
54         /*
55          * (non-Javadoc)
56          * 
57          * @see org.glom.web.shared.DataItem#setNumber(double)
58          */
59         @Override
60         public void setNumber(double number) {
61                 this.empty = false;
62                 this.type = GlomFieldType.TYPE_NUMERIC;
63                 super.setNumber(number);
64         }
65
66         /*
67          * (non-Javadoc)
68          * 
69          * @see org.glom.web.shared.DataItem#setText(java.lang.String)
70          */
71         @Override
72         public void setText(String text) {
73                 this.empty = false;
74                 this.type = GlomFieldType.TYPE_TEXT;
75                 super.setText(text);
76         }
77
78         /*
79          * (non-Javadoc)
80          * 
81          * @see org.glom.web.shared.DataItem#setText(java.lang.String)
82          */
83         public void setUnknown(String value) {
84                 this.empty = false;
85                 this.type = GlomFieldType.TYPE_INVALID;
86                 this.unknown = value;
87         }
88
89         public String getUnknown() {
90                 return unknown;
91         }
92
93         public GlomFieldType getType() {
94                 return type;
95         }
96
97 }