001 /*
002 // $Id: Quax.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) 2008-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.transform;
011
012 import org.olap4j.CellSetAxis;
013 import org.olap4j.Position;
014 import org.olap4j.metadata.Member;
015
016 /**
017 * Representation of member expressions on a query axis, derived from
018 * CellSetAxis objects.
019 *
020 * <p>Quaxes are used by MDX axis query transforms, to construct and use
021 * an internal tree-like representation of positions and members from the
022 * result CellSetAxis objects of a previous MDX query. This is needed
023 * for OLAP navigation operators like drill-down on a position.
024 *
025 * <p>Inspired from the JPivot Quax class.
026 *
027 * <p>NOTE: not exactly sure how to implement this, to be completed...
028 *
029 * @author etdub
030 * @version $Id: Quax.java 229 2009-05-08 19:11:29Z jhyde $
031 * @since Aug 7, 2008
032 */
033 public class Quax {
034 private final CellSetAxis cellSetAxis;
035
036 private TreeNode<Member> memberTree;
037
038 public Quax(CellSetAxis cellSetAxis) {
039 this.cellSetAxis = cellSetAxis;
040
041 for (Position p : cellSetAxis.getPositions()) {
042 p.getMembers();
043 }
044 }
045 }
046
047 // End Quax.java