View Javadoc

1   /*--------------------------------------------------------------------------
2    *  Copyright 2007 utgenome.org
3    *
4    *  Licensed under the Apache License, Version 2.0 (the "License");
5    *  you may not use this file except in compliance with the License.
6    *  You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   *  Unless required by applicable law or agreed to in writing, software
11   *  distributed under the License is distributed on an "AS IS" BASIS,
12   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   *  See the License for the specific language governing permissions and
14   *  limitations under the License.
15   *--------------------------------------------------------------------------*/
16  //--------------------------------------
17  // UTGB Common Project
18  //
19  // DataType.java
20  // Since: 2007/04/13
21  //
22  // $Date$
23  // $URL$ 
24  // $Author$
25  //--------------------------------------
26  package org.utgenome.gwt.utgb.client.db.datatype;
27  
28  import com.google.gwt.json.client.JSONValue;
29  
30  /**
31   * A common interface for data types of configuration parameters, database contents etc.
32   * 
33   * @author leo
34   * 
35   */
36  public interface DataType {
37  
38  	/**
39  	 * parameter name of this type
40  	 * 
41  	 * @return
42  	 */
43  	public String getName();
44  
45  	/**
46  	 * Get a user interface for retrieving the data of this data type
47  	 * 
48  	 * @return
49  	 */
50  	public InputForm getInputForm();
51  
52  	/**
53  	 * 
54  	 * @param json
55  	 * @return
56  	 */
57  	public String toString(JSONValue json);
58  
59  	public String getTypeName();
60  
61  	public boolean isPrimaryKey();
62  
63  	public boolean isNotNull();
64  }