/*
* FindBugs - Find Bugs in Java programs
* Copyright (C) 2003-2008 University of Maryland
*
* 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 edu.umd.cs.findbugs.cloud;
import edu.umd.cs.findbugs.PropertyBundle;
import edu.umd.cs.findbugs.cloud.username.NameLookup;
/**
* @author pugh
*/
public class CloudPlugin {
final String findbugsPluginId;
final String cloudid;
final ClassLoader classLoader;
final Class<? extends Cloud> cloudClass;
final Class<? extends NameLookup> usernameClass;
final PropertyBundle properties;
final String description;
final String details;
final boolean hidden;
public CloudPlugin(String findbugsPluginId, String cloudid, ClassLoader classLoader, Class<? extends Cloud> cloudClass,
Class<? extends NameLookup> usernameClass, boolean hidden, PropertyBundle properties, String description,
String details) {
this.findbugsPluginId = findbugsPluginId;
this.cloudid = cloudid;
this.classLoader = classLoader;
this.cloudClass = cloudClass;
this.usernameClass = usernameClass;
this.properties = properties;
this.description = description;
this.details = details;
this.hidden = hidden;
}
public String getFindbugsPluginId() {
return findbugsPluginId;
}
public String getId() {
return cloudid;
}
public ClassLoader getClassLoader() {
return classLoader;
}
public Class<? extends Cloud> getCloudClass() {
return cloudClass;
}
public Class<? extends NameLookup> getUsernameClass() {
return usernameClass;
}
public boolean isHidden() {
return hidden;
}
public PropertyBundle getProperties() {
return properties;
}
public String getDescription() {
return description;
}
public String getDetails() {
return details;
}
@Override
public String toString() {
return getDescription();
}
public boolean isOnline() {
return OnlineCloud.class.isAssignableFrom(cloudClass);
}
}