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.impl;
21:
22: import org.netbeans.modules.xml.xpath.ext.XPathExpression;
23: import org.netbeans.modules.xml.xpath.ext.XPathModel;
24: import org.netbeans.modules.xml.xpath.ext.visitor.XPathVisitor;
25: import org.netbeans.modules.xml.xpath.ext.visitor.impl.ExpressionWriter;
26:
27: /**
28: * Default implementation of the XPathExpression interface.
29: *
30: * @author Enrico Lelina
31: * @version
32: */
33: public abstract class XPathExpressionImpl implements XPathExpression {
34:
35: protected XPathModel myModel;
36:
37: public XPathExpressionImpl(XPathModel model) {
38: myModel = model;
39: }
40:
41: public XPathModel getModel() {
42: return myModel;
43: }
44:
45: /**
46: * Calls the visitor.
47: * @param visitor the visitor
48: */
49: public void accept(XPathVisitor visitor) {
50: // do nothing -- must be subclassed
51: }
52:
53: /**
54: * String representation.
55: * @return the string representation
56: */
57: public String getExpressionString() {
58: XPathVisitor visitor = new ExpressionWriter(myModel);
59: accept(visitor);
60: return ((ExpressionWriter) visitor).getString();
61: }
62:
63: @Override
64: public String toString() {
65: return getExpressionString();
66: }
67: }
|