01: /*
02: * The contents of this file are subject to the terms of the Common Development
03: * and Distribution License (the License). You may not use this file except in
04: * compliance with the License.
05: *
06: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
07: * or http://www.netbeans.org/cddl.txt.
08: *
09: * When distributing Covered Code, include this CDDL Header Notice in each file
10: * and include the License file at http://www.netbeans.org/cddl.txt.
11: * If applicable, add the following below the CDDL Header, with the fields
12: * enclosed by brackets [] replaced by your own identifying information:
13: * "Portions Copyrighted [year] [name of copyright owner]"
14: *
15: * The Original Software is NetBeans. The Initial Developer of the Original
16: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17: * Microsystems, Inc. All Rights Reserved.
18: */
19:
20: package org.netbeans.modules.xml.xpath.ext.metadata.impl;
21:
22: import java.util.List;
23: import org.netbeans.modules.xml.xpath.ext.XPathModel;
24: import org.netbeans.modules.xml.xpath.ext.metadata.ResultTypeCalculator;
25: import org.netbeans.modules.xml.xpath.ext.metadata.XPathType;
26:
27: /**
28: *
29: * @author nk160297
30: */
31: public abstract class ResultTypeCalculators {
32:
33: public static ResultTypeCalculator BOOLEAN_RTC = new ResultTypeCalculator() {
34: public XPathType calculateResultType(XPathModel xPathModel,
35: List<XPathType> argTypes) {
36: // arguments doesn't matter
37: return XPathType.BOOLEAN_TYPE;
38: }
39: };
40:
41: public static ResultTypeCalculator NUMBER_RTC = new ResultTypeCalculator() {
42: public XPathType calculateResultType(XPathModel xPathModel,
43: List<XPathType> argTypes) {
44: // arguments doesn't matter
45: return XPathType.NUMBER_TYPE;
46: }
47: };
48:
49: public static ResultTypeCalculator STRING_RTC = new ResultTypeCalculator() {
50: public XPathType calculateResultType(XPathModel xPathModel,
51: List<XPathType> argTypes) {
52: // arguments doesn't matter
53: return XPathType.STRING_TYPE;
54: }
55: };
56:
57: public static ResultTypeCalculator NODE_SET_RTC = new ResultTypeCalculator() {
58: public XPathType calculateResultType(XPathModel xPathModel,
59: List<XPathType> argTypes) {
60: // arguments doesn't matter
61: return XPathType.NODE_SET_TYPE;
62: }
63: };
64:
65: }
|