package org.safehaus.penrose.module; import org.safehaus.penrose.client.BaseClient; import org.safehaus.penrose.client.PenroseClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Collection; /** * @author Endi Sukma Dewata */ public class ModuleClient extends BaseClient implements ModuleServiceMBean { public static Logger log = LoggerFactory.getLogger(ModuleClient.class); protected String partitionName; public ModuleClient(PenroseClient client, String partitionName, String name) throws Exception { super(client, name, getStringObjectName(partitionName, name)); this.partitionName = partitionName; } public static String getStringObjectName(String partitionName, String name) { return "Penrose:type=Module,partition="+partitionName+",name="+name; } public String getPartitionName() { return partitionName; } public void setPartitionName(String partitionName) { this.partitionName = partitionName; } public ModuleConfig getModuleConfig() throws Exception { return (ModuleConfig)getAttribute("ModuleConfig"); } public Collection<String> getParameterNames() throws Exception { return (Collection<String>)getAttribute("ParameterNames"); } public String getParameter(String name) throws Exception { return (String)invoke( "getParameter", new Object[] { name }, new String[] { String.class.getName() } ); } public void addModuleMapping(ModuleMapping moduleMapping) throws Exception { invoke( "addModuleMapping", new Object[] { moduleMapping }, new String[] { ModuleMapping.class.getName() } ); } public void removeModuleMapping(ModuleMapping moduleMapping) throws Exception { invoke( "removeModuleMapping", new Object[] { moduleMapping }, new String[] { ModuleMapping.class.getName() } ); } public Collection<ModuleMapping> getModuleMappings() throws Exception { return (Collection<ModuleMapping>)getAttribute("ModuleMappings"); } public String getStatus() throws Exception { return (String)getAttribute("Status"); } public void start() throws Exception { invoke("start", new Object[] {}, new String[] {}); } public void stop() throws Exception { invoke("stop", new Object[] {}, new String[] {}); } public void restart() throws Exception { invoke("restart", new Object[] {}, new String[] {}); } }