/* * Copyright (c) 2016, Metron, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of Metron, Inc. nor the * names of its contributors may be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL METRON, INC. BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ // // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.3-hudson-jaxb-ri-2.2.3-3- // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. // Generated on: 2011.12.05 at 11:09:09 AM EST // package com.metsci.glimpse.dspl.schema; import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlID; import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; /** * * A slice describes a combination of concepts for which data * exists. Metrics are the concepts that provide values, while * dimensions are the concepts used to access these values. More * precisely, the dimensions are a primary key for the data of * the slice. That is, for any combination of values of the * dimensions, there is at most one data row in the slice. * * Slices in a dataset must follow the following requirements: * * - No two dimensions or metrics in a slice may refer to the * same concept. * * - No two slices in the dataset may have the same dimensions * and metrics. * * TODO (benjello): Add syntax for dense cubes. * * * * <p>Java class for Slice complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType name="Slice"> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="info" type="{http://schemas.google.com/dspl/2010}Info" minOccurs="0"/> * <element name="dimension" type="{http://schemas.google.com/dspl/2010}SliceConceptRef" maxOccurs="unbounded"/> * <element name="metric" type="{http://schemas.google.com/dspl/2010}SliceConceptRef" maxOccurs="unbounded"/> * <choice> * <element name="table" type="{http://schemas.google.com/dspl/2010}SliceTableMapping"/> * <element name="data"> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="table" type="{http://schemas.google.com/dspl/2010}SliceTableMapping"/> * </sequence> * </restriction> * </complexContent> * </complexType> * </element> * </choice> * </sequence> * <attribute name="id" use="required" type="{http://schemas.google.com/dspl/2010}Id" /> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType( XmlAccessType.FIELD ) @XmlType( name = "Slice", propOrder = { "info", "dimension", "metric", "tableMapping", "data" } ) public class Slice { protected Info info; @XmlElement( required = true ) protected List<SliceConceptRef> dimension; @XmlElement( required = true ) protected List<SliceConceptRef> metric; @XmlElement( name = "table" ) protected SliceTableMapping tableMapping; protected Slice.Data data; @XmlAttribute( name = "id", required = true ) @XmlJavaTypeAdapter( CollapsedStringAdapter.class ) @XmlID protected String id; /** * Gets the value of the info property. * * @return * possible object is * {@link Info } * */ public Info getInfo( ) { return info; } /** * Sets the value of the info property. * * @param value * allowed object is * {@link Info } * */ public void setInfo( Info value ) { this.info = value; } /** * Gets the value of the dimension property. * * <p> * This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a <CODE>set</CODE> method for the dimension property. * * <p> * For example, to add a new item, do as follows: * <pre> * getDimension().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link SliceConceptRef } * * */ public List<SliceConceptRef> getDimension( ) { if ( dimension == null ) { dimension = new ArrayList<SliceConceptRef>( ); } return this.dimension; } /** * Gets the value of the metric property. * * <p> * This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a <CODE>set</CODE> method for the metric property. * * <p> * For example, to add a new item, do as follows: * <pre> * getMetric().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link SliceConceptRef } * * */ public List<SliceConceptRef> getMetric( ) { if ( metric == null ) { metric = new ArrayList<SliceConceptRef>( ); } return this.metric; } /** * Gets the value of the tableMapping property. * * @return * possible object is * {@link SliceTableMapping } * */ public SliceTableMapping getTableMapping( ) { return tableMapping; } /** * Sets the value of the tableMapping property. * * @param value * allowed object is * {@link SliceTableMapping } * */ public void setTableMapping( SliceTableMapping value ) { this.tableMapping = value; } /** * Gets the value of the data property. * * @return * possible object is * {@link Slice.Data } * */ public Slice.Data getData( ) { return data; } /** * Sets the value of the data property. * * @param value * allowed object is * {@link Slice.Data } * */ public void setData( Slice.Data value ) { this.data = value; } /** * Gets the value of the id property. * * @return * possible object is * {@link String } * */ public String getId( ) { return id; } /** * Sets the value of the id property. * * @param value * allowed object is * {@link String } * */ public void setId( String value ) { this.id = value; } /** * <p>Java class for anonymous complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="table" type="{http://schemas.google.com/dspl/2010}SliceTableMapping"/> * </sequence> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType( XmlAccessType.FIELD ) @XmlType( name = "", propOrder = { "table" } ) public static class Data { @XmlElement( required = true ) protected SliceTableMapping table; /** * Gets the value of the table property. * * @return * possible object is * {@link SliceTableMapping } * */ public SliceTableMapping getTable( ) { return table; } /** * Sets the value of the table property. * * @param value * allowed object is * {@link SliceTableMapping } * */ public void setTable( SliceTableMapping value ) { this.table = value; } } @javax.xml.bind.annotation.XmlTransient protected DataSet parentDataset; @javax.xml.bind.annotation.XmlTransient protected com.metsci.glimpse.dspl.parser.table.SliceTableData tableData; public DataSet getDataSet( ) { return parentDataset; } public void setDataSet( DataSet dataSet ) { this.parentDataset = dataSet; } public Table getTable( ) throws javax.xml.bind.JAXBException, java.io.IOException, com.metsci.glimpse.dspl.util.DsplException { return com.metsci.glimpse.dspl.util.DsplHelper.getTable( this ); } public com.metsci.glimpse.dspl.parser.table.SliceTableData getTableData( ) throws javax.xml.bind.JAXBException, java.io.IOException, com.metsci.glimpse.dspl.util.DsplException { if ( tableData != null ) return tableData; tableData = com.metsci.glimpse.dspl.util.DsplHelper.getTableData( this ); return tableData; } public Concept getCompatibleDimension( Concept superConcept ) throws javax.xml.bind.JAXBException, java.io.IOException, com.metsci.glimpse.dspl.util.DsplException { return com.metsci.glimpse.dspl.util.DsplHelper.getCompatibleConceptRef( this, superConcept, getDimension( ) ); } public Concept getCompatibleMetric( Concept superConcept ) throws javax.xml.bind.JAXBException, java.io.IOException, com.metsci.glimpse.dspl.util.DsplException { return com.metsci.glimpse.dspl.util.DsplHelper.getCompatibleConceptRef( this, superConcept, getMetric( ) ); } }