KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > xquark > extractor > xfunctions > XfSubString


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.xfunctions;
24
25 import org.xquark.extractor.algebra.Expression;
26 import org.xquark.extractor.sql.SqlExpression;
27
28 /**
29 3.5.7 xf:substring
30 3.5.7.1 Signature
31 xf:substring(string $sourceString, decimal $startingLoc) => string
32
33 xf:substring(string $sourceString, decimal $startingLoc, decimal $length) => string
34
35 3.5.7.2 Parameters
36 $sourceString — static type is string
37 $startingLoc — static type is decimal. The effective value is computed as cast as
38 unsignedInt(floor($startingLoc)).
39 $length — static type is decimal. The effective value is computed as cast as
40 unsignedInt(floor($length)).
41
42 3.5.7.3 Semantics
43 Returns the portion of the value of $sourceString beginning at the position indicated by the value
44 of $startingLoc and continuing for the number of characters indicated by the value of $length.
45
46 If $length is not specified, then the substring identifies characters to the end of $sourceString.
47
48 The value of $length can be greater than the number of characters in the value of $sourceString
49 following the beginning position, in which case the substring identifies characters to the end of
50 $sourceString.
51
52 The first character of a string is located at position 1 (not position 0).
53
54 3.5.7.4 Examples
55 xf:substring("motor car", 6) returns " car".
56
57 xf:substring("metadata", 4, 3) returns "ada".
58  */

59 public final class XfSubString extends Xfunction_String
60 {
61
62     private static final String JavaDoc RCSRevision = "$Revision: 1.3 $";
63     private static final String JavaDoc RCSName = "$Name: $";
64
65
66     public XfSubString()
67     {
68       super("XfSubString");
69     }
70
71     public XfSubString( Expression arg0, Expression arg1)
72     {
73         super("XfSubString");
74         setArgument(0, arg0);
75         setArgument(1, arg1);
76     }
77
78     public XfSubString( Expression arg0, Expression arg1,Expression arg2)
79     {
80         super("XfSubString");
81         setArgument(0, arg0);
82         setArgument(1, arg1);
83         setArgument(2, arg2);
84     }
85
86     public SqlExpression accept(org.xquark.extractor.algebra.GenSqlVisitor visitor)
87     {
88         return visitor.visit(this);
89     }
90
91     public void accept(org.xquark.extractor.algebra.AlgebraVisitor visitor)
92     {
93         visitor.visit(this);
94     }
95 }
96
Popular Tags