All Downloads are FREE. Search and download functionalities are using the official Maven repository.

at.spardat.xma.datasource.ITabularDataSource Maven / Gradle / Ivy

/*******************************************************************************
 * Copyright (c) 2003, 2007 s IT Solutions AT Spardat GmbH .
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     s IT Solutions AT Spardat GmbH - initial API and implementation
 *******************************************************************************/

// @(#) $Id: ITabularDataSource.java 2089 2007-11-28 13:56:13Z s3460 $
package at.spardat.xma.datasource;

import at.spardat.xma.session.XMASession;

/**
 * Classes implementing this interface are able to provide tabular data. ITabularData
 * is the interface specification for the XMA tabular data plugin. A XMA application provides
 * a server and a client side implementation. There are default implementations available.

* * Usage of this interface: The implementor is able to provide a {@link ITabularData} for * a provided table specification. The specification is a String that must abide to the * following syntax (example): *

 * type=sddom,name=BETRART
 * 
* I.e., a comma separated list of attributes as key/value pairs. The attribute type is reserved * and should be used to discrimitate different data sources. Depending on the type, * more attributes might be required. The following types are * reserved: *
 * type            meaning
 * -------------------------------------------------------------------------------------------
 * rsc             the table is loaded from a resource bundle, see {@link RessourceBundleProviderServer}.
 *                 The syntax is type=rsc,bundle=at.spardat. ... .BundleName
 * sddom           see at.spardat.enterprise.atom.ADomain
 * ress            see at.spardat.enterprise.atom.ADomain
 * res             see at.spardat.enterprise.atom.ADomain
 * 
* * @author YSD, 17.04.2003 23:05:59 */ public interface ITabularDataSource { /** * Constant for a timestamp that is unknown. May be used to specify unknown * last modified timestamps. */ public static final long UNKNOWN_TIMESTAMP = Long.MIN_VALUE; /** * Retrieves a table from this data source. * * @param spec identifies a table as defined above. * @param session XMASession * @return the table data. The returned table is never null. * @exception RuntimeException note that this method may throw a set * of RuntimeExceptions. */ public ITabularData getTable (String spec, XMASession session); /** * Convenience method to retrieve a table that contains domain values. * Not that this method may only be called if the underlying tabular data is indeed * a domain table. It is the {@link ITableProvider}-implementor that decides * on this. * * @param spec identifies a table as defined above. * @param session XMASession * @return the table data. The returned table is never null. * @exception RuntimeException note that this method may throw a set * of RuntimeExceptions. */ public ITabularDomData getDomTable (String spec, XMASession session); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy