org.jboss.modules.management.DependencyInfo Maven / Gradle / Ivy
/*
* JBoss, Home of Professional Open Source.
* Copyright 2014 Red Hat, Inc., and individual contributors
* as indicated by the @author tags.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jboss.modules.management;
import java.beans.ConstructorProperties;
import java.util.List;
/**
* Information describing a dependency.
*
* @author David M. Lloyd
*/
public final class DependencyInfo {
private final String dependencyType;
private final String exportFilter;
private final String importFilter;
private final ModuleLoaderMXBean moduleLoader;
private final String moduleName;
private final boolean optional;
private final String localLoader;
private final List localLoaderPaths;
/**
* Construct a new instance.
*
* @param dependencyType the dependency type class name
* @param exportFilter the export filter, as a string
* @param importFilter the import filter, as a string
* @param moduleLoader the module loader MXBean of this dependency
* @param moduleName the module name, as a string
* @param optional {@code true} if this is an optional dependency
* @param localLoader the local loader type class name
* @param localLoaderPaths the list of paths made available by the local loader
*/
@ConstructorProperties({"dependencyType", "exportFilter", "importFilter", "moduleLoader", "moduleName", "optional", "localLoader", "localLoaderPaths"})
public DependencyInfo(final String dependencyType, final String exportFilter, final String importFilter, final ModuleLoaderMXBean moduleLoader, final String moduleName, final boolean optional, final String localLoader, final List localLoaderPaths) {
this.dependencyType = dependencyType;
this.exportFilter = exportFilter;
this.importFilter = importFilter;
this.moduleLoader = moduleLoader;
this.moduleName = moduleName;
this.optional = optional;
this.localLoader = localLoader;
this.localLoaderPaths = localLoaderPaths;
}
/**
* Get the dependency type class name.
*
* @return the dependency type class name
*/
public String getDependencyType() {
return dependencyType;
}
/**
* Get the export filter, as a string.
*
* @return the export filter, as a string
*/
public String getExportFilter() {
return exportFilter;
}
/**
* Get the import filter, as a string.
*
* @return the import filter, as a string
*/
public String getImportFilter() {
return importFilter;
}
/**
* Get the module loader MXBean of this dependency.
*
* @return the module loader MXBean of this dependency
*/
public ModuleLoaderMXBean getModuleLoader() {
return moduleLoader;
}
/**
* Get the module name, as a string.
*
* @return the module name, as a string
*/
public String getModuleName() {
return moduleName;
}
/**
* Determine whether this is an optional dependency.
*
* @return {@code true} if this is an optional dependency
*/
public boolean isOptional() {
return optional;
}
/**
* Get the local loader type class name.
*
* @return the local loader type class name
*/
public String getLocalLoader() {
return localLoader;
}
/**
* Get the list of paths made available by the local loader.
*
* @return the list of paths made available by the local loader
*/
public List getLocalLoaderPaths() {
return localLoaderPaths;
}
}