KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > xquark > extractor > sybase > sql > SfSubString


1 /*
2  * This file belongs to the XQuark distribution.
3  * Copyright (C) 2003 Universite de Versailles Saint-Quentin.
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307.
18  * You can also get it at http://www.gnu.org/licenses/lgpl.html
19  *
20  * For more information on this software, see http://www.xquark.org.
21  */

22
23 package org.xquark.extractor.sybase.sql;
24
25
26 import org.xquark.extractor.sql.Context;
27 import org.xquark.extractor.sql.SqlExpression;
28
29 public class SfSubString extends org.xquark.extractor.sql.SfSubString
30 {
31
32     private static final String JavaDoc RCSRevision = "$Revision: 1.4 $";
33     private static final String JavaDoc RCSName = "$Name: $";
34
35
36     public SfSubString()
37     {
38         super();
39     }
40
41     public SfSubString(SqlExpression arg0, SqlExpression arg1)
42     {
43         super(arg0, arg1);
44     }
45
46     public SfSubString(SqlExpression arg0, SqlExpression arg1, SqlExpression arg2)
47     {
48         super(arg0, arg1, arg2);
49     }
50
51     public String JavaDoc toSql (Context context)
52     {
53         //Trace.enter(this,"toSql");
54

55
56         StringBuffer JavaDoc retVal = new StringBuffer JavaDoc();
57         String JavaDoc arg0 = null;
58         String JavaDoc arg1 = null;
59         String JavaDoc arg2 = null;
60
61         retVal.append("SUBSTRING(");
62         arg0 = getArgument(0).toSql(context);
63         retVal.append(arg0);
64         int num = getArgumentNumber();
65
66         arg1 = getArgument(1).toSql(context);
67         retVal.append(",");
68         retVal.append(arg1);
69
70         if ( 2 < num){
71             retVal.append(",");
72             arg2 = getArgument(2).toSql(context);
73             retVal.append(arg2);
74         }
75         else {
76             retVal.append(",");
77             retVal.append("CHAR_LENGTH(");
78             retVal.append(arg0);
79             retVal.append(")");
80             /* the following is not neccessary
81             retVal.append("-");
82             retVal.append(arg1);
83             retVal.append("+1");
84             */

85         }
86         retVal.append(")");
87
88         //Trace.exit(this,"toSql");
89
return retVal.toString();
90     }
91 }
92
Popular Tags