00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 package org.objectweb.proactive.core.component;
00032
00033 import java.io.Serializable;
00034 import java.util.Map;
00035
00036 import org.objectweb.proactive.core.component.Constants;
00037 import org.objectweb.proactive.core.component.identity.ProActiveComponentImpl;
00038
00039
00058 public class ControllerDescription implements Serializable {
00059 private String hierarchicalType;
00060 private String name;
00061 private boolean synchronous = false;
00062 public static final String DEFAULT_COMPONENT_CONFIG_FILE_LOCATION = "/org/objectweb/proactive/core/component/config/default-component-config.xml";
00063 private String controllersConfigFileLocation;
00064 private Map controllersSignatures;
00065
00070 public ControllerDescription() {
00071 this((String) null, (String) null, (String) null, false);
00072 }
00073
00079 public ControllerDescription(String name, String hierarchicalType) {
00080 this(name, hierarchicalType, null, false);
00081 }
00082
00089 public ControllerDescription(String name, String hierarchicalType,
00090 boolean synchronous) {
00091 this(name, hierarchicalType, null, synchronous);
00092 }
00093
00100 public ControllerDescription(String name, String hierarchicalType,
00101 String controllersConfigFileLocation) {
00102 this(name, hierarchicalType, controllersConfigFileLocation, false);
00103 }
00104
00112 public ControllerDescription(String name, String hierarchicalType,
00113 String controllersConfigFileLocation,
00114 String interceptorsConfigFileLocation) {
00115 this(name, hierarchicalType, controllersConfigFileLocation, false);
00116 }
00117
00125 public ControllerDescription(String name, String hierarchicalType,
00126 String controllersConfigFileLocation, boolean synchronous) {
00127 this.hierarchicalType = hierarchicalType;
00128 this.name = name;
00129 if (!Constants.PRIMITIVE.equals(hierarchicalType)) {
00130 this.synchronous = synchronous;
00131 }
00132 if (controllersConfigFileLocation == null) {
00133 this.controllersConfigFileLocation = DEFAULT_COMPONENT_CONFIG_FILE_LOCATION;
00134 } else {
00135 this.controllersConfigFileLocation = controllersConfigFileLocation;
00136 }
00137 controllersSignatures = ProActiveComponentImpl.loadControllerConfiguration(this.controllersConfigFileLocation).getControllers();
00138 }
00139
00144 public ControllerDescription(ControllerDescription controllerDesc) {
00145 this(controllerDesc.name, controllerDesc.hierarchicalType, controllerDesc.controllersConfigFileLocation, controllerDesc.synchronous);
00146 }
00147
00152 public String getHierarchicalType() {
00153 return hierarchicalType;
00154 }
00155
00160 public void setHierarchicalType(String string) {
00161 hierarchicalType = string;
00162 }
00163
00168 public String getName() {
00169 return name;
00170 }
00171
00176 public void setName(String name) {
00177 this.name = name;
00178 }
00179
00184 public boolean isSynchronous() {
00185 return synchronous;
00186 }
00187
00192 public String getControllersConfigFileLocation() {
00193 return controllersConfigFileLocation;
00194 }
00195
00196 public Map getControllersSignatures() {
00197 return controllersSignatures;
00198 }
00199 }