001    /*
002    // $Id: ParseTreeWriter.java 229 2009-05-08 19:11:29Z jhyde $
003    // This software is subject to the terms of the Eclipse Public License v1.0
004    // Agreement, available at the following URL:
005    // http://www.eclipse.org/legal/epl-v10.html.
006    // Copyright (C) 2007-2008 Julian Hyde
007    // All Rights Reserved.
008    // You must accept the terms of that agreement to use this software.
009    */
010    package org.olap4j.mdx;
011    
012    import java.io.PrintWriter;
013    
014    /**
015     * Writer for MDX parse tree.
016     *
017     * <p>Typical use is with the {@link ParseTreeNode#unparse(ParseTreeWriter)}
018     * method as follows:
019     *
020     * <blockquote>
021     * <pre>
022     * ParseTreeNode node;
023     * StringWriter sw = new StringWriter();
024     * PrintWriter pw = new PrintWriter(sw);
025     * ParseTreeWriter mdxWriter = new ParseTreeWriter(pw);
026     * node.unparse(mdxWriter);
027     * pw.flush();
028     * String mdx = sw.toString();
029     * </pre>
030     * </blockquote>
031     *
032     *
033     * @see org.olap4j.mdx.ParseTreeNode#unparse(ParseTreeWriter)
034     *
035     * @author jhyde
036     * @version $Id: ParseTreeWriter.java 229 2009-05-08 19:11:29Z jhyde $
037     * @since Jun 4, 2007
038     */
039    public class ParseTreeWriter {
040        private final PrintWriter pw;
041    
042        /**
043         * Creates a ParseTreeWriter.
044         *
045         * @param pw Underlying writer
046         */
047        public ParseTreeWriter(PrintWriter pw) {
048            this.pw = pw;
049        }
050    
051        /**
052         * Returns the underlying writer.
053         *
054         * @return underlying writer
055         */
056        public PrintWriter getPrintWriter() {
057            return pw;
058        }
059    }
060    
061    // End ParseTreeWriter.java