mondrianjolapcube.java
来自「数据仓库展示程序」· Java 代码 · 共 130 行
JAVA
130 行
/*
// $Id: //open/mondrian/src/main/mondrian/jolap/MondrianJolapCube.java#3 $
// This software is subject to the terms of the Common Public License
// Agreement, available at the following URL:
// http://www.opensource.org/licenses/cpl.html.
// (C) Copyright 2002-2005 Kana Software, Inc. and others.
// All Rights Reserved.
// You must accept the terms of that agreement to use this software.
//
// jhyde, Dec 25, 2002
*/
package mondrian.jolap;
import mondrian.olap.Dimension;
import javax.olap.OLAPException;
import javax.olap.metadata.Cube;
import javax.olap.metadata.CubeDimensionAssociation;
import javax.olap.metadata.Hierarchy;
import javax.olap.metadata.Schema;
import java.util.Collection;
/**
* Implementation of {@link Cube JOLAP Cube} based upon a
* {@link mondrian.olap.Cube Mondrian Cube}.
*
* @author jhyde
* @since Dec 25, 2002
* @version $Id: //open/mondrian/src/main/mondrian/jolap/MondrianJolapCube.java#3 $
**/
public class MondrianJolapCube extends ClassifierSupport implements Cube {
private Schema schema;
mondrian.olap.Cube cube;
private RelationshipList cubeDimensionAssociation = new RelationshipList(Meta.cubeDimensionAssociation);
static class Meta {
static Relationship cubeDimensionAssociation = new Relationship(MondrianJolapCube.class, "cubeDimensionAssociation", CubeDimensionAssociation.class);
}
MondrianJolapCube(Schema schema, mondrian.olap.Cube cube) {
this.schema = schema;
this.cube = cube;
final Dimension[] dimensions = cube.getDimensions();
for (int i = 0; i < dimensions.length; i++) {
Dimension dimension = dimensions[i];
final MondrianJolapDimension jolapDimension =
new MondrianJolapDimension(schema, dimension);
cubeDimensionAssociation.add(
new MondrianCubeDimensionAssociation(this,jolapDimension));
}
}
public String getName() {
return cube.getName();
}
// object model methods
public boolean isVirtual() throws OLAPException {
throw new UnsupportedOperationException();
}
public void setVirtual(boolean value) throws OLAPException {
throw new UnsupportedOperationException();
}
public Collection getCubeDimensionAssociation() throws OLAPException {
return cubeDimensionAssociation;
}
public Schema getSchema() throws OLAPException {
return schema;
}
public void setSchema(Schema value) throws OLAPException {
schema = value;
}
public boolean isAbstract() {
throw new UnsupportedOperationException();
}
public void setAbstract(boolean value) {
throw new UnsupportedOperationException();
}
}
class MondrianCubeDimensionAssociation extends ClassifierSupport
implements CubeDimensionAssociation {
private MondrianJolapCube cube;
private MondrianJolapDimension dimension;
MondrianCubeDimensionAssociation(MondrianJolapCube cube, MondrianJolapDimension dimension) {
this.cube = cube;
this.dimension = dimension;
}
public void setDimension(javax.olap.metadata.Dimension input) throws OLAPException {
this.dimension = (MondrianJolapDimension) input;
}
public javax.olap.metadata.Dimension getDimension() throws OLAPException {
return dimension;
}
public Cube getCube() throws OLAPException {
return cube;
}
public void setCalcHierarchy(Hierarchy input) throws OLAPException {
throw new UnsupportedOperationException();
}
public Hierarchy getCalcHierarchy() throws OLAPException {
throw new UnsupportedOperationException();
}
public boolean isAbstract() {
throw new UnsupportedOperationException();
}
public void setAbstract(boolean value) {
throw new UnsupportedOperationException();
}
public void setCube(Cube value) throws OLAPException {
cube = (MondrianJolapCube) value;
}
}
// End MondrianJolapCube.java
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?