/*
 This file is part of the software framework JStatCom, 
 a library for building applications for data based analysis.

 Copyright (C) 2000-2005  Markus Kraetzig

 This library is free software; you can redistribute it and/or modify
 it under the terms of the GNU Lesser General Public License as
 published by the Free Software Foundation; either version 2.1 of the
 License, or (at your option) any later version.

 This library is distributed in the hope that it will be useful, but
 WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 Lesser General Public License for more details.

 You should have received a copy of the GNU Lesser General Public
 License along with this library; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 USA
 */

package com.jstatcom.io;

import com.jstatcom.model.JSCTypes;

/**
 * Abstract class for definitions of different
 * types of elements that belong to a certain dataset. It should be
 * subclassed to create a new dataset definition. 
 *
 * @author Markus Kraetzig
 */
public abstract class ImportTypes {
	/**
	 * The name of this ConfigKey.
	 */
	private final String name;
	private final JSCTypes type;

	/**
	 * Creates a new import tyoe.
	 *
	 * @param name the identifier of the new type
	 * @throws IllegalArgumentException if (name == null || jscType == null)
	 */
	public ImportTypes(String name, JSCTypes jscType) {
		if (name == null || jscType == null)
			throw new IllegalArgumentException("Argument was null");
		this.name = name;
		this.type = jscType;
	}

	/**
	 * Override prevention method to enforce 
	 * a.equals(b) if and only if a==b.
	 *
	 * @param  o object to compare with
	 * @return true if equal, false otherwise
	 */
	public final boolean equals(Object o) {
		return super.equals(o);
	}

	/**
	 * Override prevention method invokes super method.
	 *
	 * @return hash code
	 */
	public final int hashCode() {
		return super.hashCode();
	}

	/**
	 * Gets the name of this import type.
	 *
	 * @return the name of this type
	 */
	public final String name() {
		return name;
	}

	/**
	 * Gets the data type of this import type.
	 *
	 * @return the JSCData type of this import type
	 */
	public final JSCTypes type() {
		return type;
	}
	/**
	 * Gets a string representation.
	 *
	 * @return a string representation of this
	 */
	public final String toString() {
		return name;
	}
}
 

Ads help maintain this website.