KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > token > timeliteral


1 package com.daffodilwoods.daffodildb.server.sql99.token;
2
3 import com.daffodilwoods.daffodildb.server.datasystem.interfaces.*;
4 import com.daffodilwoods.daffodildb.server.sql99.common.*;
5 import com.daffodilwoods.daffodildb.server.sql99.expression.*;
6 import com.daffodilwoods.daffodildb.server.sql99.expression.rowvalueexpression.*;
7 import com.daffodilwoods.daffodildb.server.sql99.utils.*;
8 import com.daffodilwoods.daffodildb.utils.*;
9 import com.daffodilwoods.daffodildb.utils.byteconverter.*;
10 import com.daffodilwoods.daffodildb.utils.field.*;
11 import com.daffodilwoods.database.resource.*;
12 import com.daffodilwoods.daffodildb.server.serversystem._ServerSession;
13
14 public class timeliteral extends AbstractValueExpression implements com.daffodilwoods.daffodildb.utils.parser.StatementExecuter, datetimeliteral {
15    public timestring _timestring0;
16    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439221;
17    java.sql.Time JavaDoc identifier;
18    private FieldBase fieldBase;
19
20    ColumnDetails[] cd;
21
22    /* Done by Kaushik on 25/06/2004
23     This method has been overridden to solve the bug no. 11263
24     i.e Checking of valid Time at DDL Time or when table has no record*/

25    public _Reference[] checkSemantic(_ServerSession parent) throws DException {
26      TypeValidityHandler.getTime(( (FieldBase) _timestring0.run(null)).getObject().toString());
27      return super.checkSemantic(parent);
28    }
29
30    public Object JavaDoc run(Object JavaDoc object) throws com.daffodilwoods.database.resource.DException {
31       if (fieldBase == null) {
32          String JavaDoc s = (String JavaDoc) ( (FieldBase) _timestring0.run(object)).getObject();
33          fieldBase = new FieldTimeLiteral(TypeValidityHandler.getTime(s.trim()));
34       }
35       return fieldBase;
36    }
37
38    public ColumnDetails[] getColumnDetails() throws DException {
39       cd = _timestring0.getColumnDetails();
40       cd[0].setDatatype(Datatypes.TIME);
41       return cd;
42    }
43
44    public Object JavaDoc[] getParameters(Object JavaDoc object) throws DException {
45       return null;
46    }
47
48    public int getType() {
49       return OTHERS;
50    }
51
52    private byte[] getAppropriateBytes() throws DException {
53       int datatype = cd[0].getDatatype();
54       switch (datatype) {
55          case Datatypes.TIME:
56             return CCzufDpowfsufs.getBytes(identifier);
57          default:
58             throw new DException("DSE514", new Object JavaDoc[] {new Integer JavaDoc(datatype)});
59       }
60    }
61
62    public AbstractRowValueExpression[] getChilds() {
63       AbstractRowValueExpression[] childs = new AbstractRowValueExpression[] {};
64       return childs;
65    }
66
67    public ParameterInfo[] getParameterInfo() throws DException {
68       ParameterInfo parameterInfo = new ParameterInfo();
69       parameterInfo.setDataType(Datatypes.TIME);
70       return new ParameterInfo[] {parameterInfo};
71    }
72
73    public String JavaDoc toString() {
74       StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
75       sb.append(" ");
76       sb.append(_SRESERVEDWORD12065439221);
77       sb.append(" ");
78       sb.append(_timestring0);
79       return sb.toString();
80    }
81
82    public Object JavaDoc clone() throws CloneNotSupportedException JavaDoc {
83       timeliteral tempClass = new timeliteral();
84       tempClass._timestring0 = (timestring) _timestring0.clone();
85       tempClass._SRESERVEDWORD12065439221 = (SRESERVEDWORD1206543922) _SRESERVEDWORD12065439221.clone();
86       return tempClass;
87    }
88
89    public int getCardinality() throws DException {
90       return 1;
91    }
92
93    public ByteComparison getByteComparison(Object JavaDoc object) throws DException {
94       return new ByteComparison(false, new int[] {Datatype.TIME});
95    }
96 }
97
Popular Tags