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