001 /* 002 // $Id: CubeType.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) 2005-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.type; 011 012 import org.olap4j.metadata.Dimension; 013 import org.olap4j.metadata.Hierarchy; 014 import org.olap4j.metadata.Level; 015 import org.olap4j.metadata.Cube; 016 017 /** 018 * The type of an expression which represents a Cube or Virtual Cube. 019 * 020 * @author jhyde 021 * @since Feb 17, 2005 022 * @version $Id: CubeType.java 229 2009-05-08 19:11:29Z jhyde $ 023 */ 024 public class CubeType implements Type { 025 private final Cube cube; 026 027 /** 028 * Creates a type representing a cube. 029 * 030 * @param cube Cube 031 */ 032 public CubeType(Cube cube) { 033 this.cube = cube; 034 } 035 036 /** 037 * Returns the cube. 038 * 039 * @return the cube 040 */ 041 public Cube getCube() { 042 return cube; 043 } 044 045 public boolean usesDimension(Dimension dimension, boolean maybe) { 046 return false; 047 } 048 049 public Dimension getDimension() { 050 return null; 051 } 052 053 public Hierarchy getHierarchy() { 054 return null; 055 } 056 057 public Level getLevel() { 058 return null; 059 } 060 061 public boolean equals(Object obj) { 062 if (obj instanceof CubeType) { 063 CubeType that = (CubeType) obj; 064 return TypeUtil.equal(this.cube, that.cube); 065 } else { 066 return false; 067 } 068 } 069 070 public int hashCode() { 071 return cube == null 072 ? 0 073 : cube.hashCode(); 074 } 075 } 076 077 // End CubeType.java