/*
 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.engine;

/**
 * This class contains an enumeration of constants that define different
 * types of modules that can be loaded by a certain engine, for example
 * dynamic link libraries (.dll) or special engine executables (.lib).
 * This class needs to be subclassed to define the necessary constants for 
 * a certain engine. 
 * 

* It implements the typesave enum pattern (Joshua Bloch, "Effective Java", Item 21). * If you compare LoadTypes, always use the == operator. * * @author Markus Kraetzig */ public abstract class LoadTypes { /** * The name of this ConfigKey. */ private final String name; /** * Creates a new config key. * * @param name the identifier of the new key * @throws IllegalArgumentException if (name == null) */ public LoadTypes(String name) { if (name == null) throw new IllegalArgumentException("Argument was null"); this.name = name; } /** * 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 load type. * * @return the name of this type */ public final String name() { return name; } /** * Gets a string representation. * * @return a string representation of this */ public final String toString() { return name; } }

Ads help maintain this website.