01: /**
02: * <copyright>
03: *
04: * Copyright 2002-2004 BBNT Solutions, LLC
05: * under sponsorship of the Defense Advanced Research Projects
06: * Agency (DARPA).
07: *
08: * You can redistribute this software and/or modify it under the
09: * terms of the Cougaar Open Source License as published on the
10: * Cougaar Open Source Website (www.cougaar.org).
11: *
12: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
13: * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
14: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
15: * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
16: * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
17: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
18: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
19: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
20: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
22: * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23: *
24: * </copyright>
25: */package org.cougaar.tools.csmart.society;
26:
27: import org.cougaar.core.component.ComponentDescription;
28: import org.cougaar.tools.csmart.core.cdata.ComponentData;
29: import org.cougaar.tools.csmart.ui.viewer.CSMART;
30:
31: /**
32: * BinderBase is the basic implementation for editing & configuring
33: * binders. It is particularly suited to Binders of Plugins (that sit
34: * inside Agents). However, it has a slot to allow specicying the type.
35: */
36: public class BinderBase extends ComponentBase implements
37: BinderComponent {
38:
39: /** Binder Classname Property Definition **/
40: public static final String PROP_CLASSNAME = "Binder Class Name";
41: public static final String PROP_CLASSNAME_DESC = "Name of the Binder Class";
42:
43: protected String folderLabel = "Binders";
44:
45: public static final String PROP_TYPE = "Binder Type";
46: public static final String PROP_TYPE_DESC = "Type of Binder (Agent, Node)";
47: public static final String PROP_PARAM = "param-";
48:
49: public BinderBase(String name) {
50: super (
51: name,
52: "",
53: ComponentDescription
54: .priorityToString(ComponentDescription.PRIORITY_BINDER),
55: ComponentData.AGENTBINDER);
56: createLogger();
57: }
58:
59: public BinderBase(String name, String classname, String priority) {
60: super (name, classname, priority, ComponentData.AGENTBINDER);
61: if (priority == null || priority.trim().equals("")) {
62: this .priority = ComponentDescription
63: .priorityToString(ComponentDescription.PRIORITY_BINDER);
64: }
65: createLogger();
66: }
67:
68: public BinderBase(String name, String classname, String priority,
69: String type) {
70: super (name, classname, priority, type);
71: if (priority == null || priority.trim().equals("")) {
72: this .priority = ComponentDescription
73: .priorityToString(ComponentDescription.PRIORITY_BINDER);
74: }
75: if (type == null || type.trim().equals(""))
76: this .type = ComponentData.AGENTBINDER;
77: createLogger();
78: }
79:
80: private void createLogger() {
81: log = CSMART.createLogger(this .getClass().getName());
82: }
83:
84: } // End of BinderBase
|