OSDN Git Service

imported from subversion repository
[xerial/xerial-core.git] / src / main / java / org / xerial / lens / relation / schema / SchemaNode.java
1 /*--------------------------------------------------------------------------\r
2  *  Copyright 2009 Taro L. Saito\r
3  *\r
4  *  Licensed under the Apache License, Version 2.0 (the "License");\r
5  *  you may not use this file except in compliance with the License.\r
6  *  You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  *  Unless required by applicable law or agreed to in writing, software\r
11  *  distributed under the License is distributed on an "AS IS" BASIS,\r
12  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  *  See the License for the specific language governing permissions and\r
14  *  limitations under the License.\r
15  *--------------------------------------------------------------------------*/\r
16 //--------------------------------------\r
17 // XerialJ\r
18 //\r
19 // SchemaNode.java\r
20 // Since: 2009/05/13 22:24:31\r
21 //\r
22 // $URL$\r
23 // $Author$\r
24 //--------------------------------------\r
25 package org.xerial.lens.relation.schema;\r
26 \r
27 import java.io.Serializable;\r
28 \r
29 import org.xerial.lens.relation.DataType;\r
30 import org.xerial.lens.relation.FD;\r
31 import org.xerial.lens.relation.NodeBase;\r
32 \r
33 /**\r
34  * SchemaNode\r
35  * \r
36  * @author leo\r
37  * \r
38  */\r
39 public class SchemaNode extends NodeBase<SchemaNode> implements Serializable\r
40 {\r
41     /**\r
42      * \r
43      */\r
44     private static final long serialVersionUID = 1L;\r
45 \r
46     public final String name;\r
47     public final DataType type;\r
48     public final FD fd;\r
49 \r
50     public SchemaNode(String name)\r
51     {\r
52         this(name, DataType.STRING, FD.ONE_TO_ONE);\r
53     }\r
54 \r
55     public SchemaNode(String name, DataType type)\r
56     {\r
57         this(name, type, FD.ONE_TO_ONE);\r
58     }\r
59 \r
60     public SchemaNode(String name, DataType type, FD fd)\r
61     {\r
62         this.name = name;\r
63         this.type = type;\r
64         this.fd = fd;\r
65     }\r
66 \r
67     @Override\r
68     public String toString()\r
69     {\r
70         return String.format("%s %s%s", name, type.name().toLowerCase(), fd);\r
71     }\r
72 \r
73 }\r