001: /**
002: * $Id: PSMBean.java,v 1.3 2005/09/14 01:50:18 ru111118 Exp $
003: * Copyright 2005 Sun Microsystems, Inc. All
004: * rights reserved. Use of this product is subject
005: * to license terms. Federal Acquisitions:
006: * Commercial Software -- Government Users
007: * Subject to Standard License Terms and
008: * Conditions.
009: *
010: * Sun, Sun Microsystems, the Sun logo, and Sun ONE
011: * are trademarks or registered trademarks of Sun Microsystems,
012: * Inc. in the United States and other countries.
013: */package com.sun.portal.admin.server.mbeans;
014:
015: import java.util.List;
016: import java.util.Map;
017: import java.util.Set;
018: import javax.management.ObjectName;
019:
020: import com.sun.portal.admin.common.PSMBeanException;
021:
022: /**
023: * This interface is a generic Portal Server MBean that represents a
024: * manageable/configurable Portal Server resource.
025: * <p>
026: * Portal Server resources are organized in a hierarchical fashion.
027: * At the top is the Portal Domain object. Each portal domain
028: * consists of one or more portal (site) objects and other portal
029: * server resources that are independent of portals. Each portal
030: * consists of one or more portal server instance objects and other
031: * portal server resources that are independent of portal server
032: * instances but are associated with a portal.
033: * <p>
034: * The information about the presence of a particular instance of a
035: * portal server resource is stored in the portal domain repository.
036: * Each such instance is uniquely identified in the portal domain
037: * repository by a path, similar to the full path of a file in a file
038: * system or the DN of a LDAP entry in a LDAP directory. For example,
039: * the path to identify a particular portal server instance object is
040: * {instanceID, portalID, domainID}, where the first element of the
041: * path is the ID of that resource instance within its parent resource
042: * instance, and the last element is (almost) always the ID of the
043: * portal domain where this resource instance belongs to.
044: */
045: public interface PSMBean {
046: /**
047: * Returns the ID of the portal domain this portal server resource
048: * instance belongs to.
049: *
050: * @return the portal domain ID.
051: */
052: public String getDomainID();
053:
054: /**
055: * Returns the path to identify this portal server resource
056: * instance in the portal domain context.
057: *
058: * @return the path of this portal server resource instance.
059: */
060: public List getPath();
061:
062: /**
063: * Returns the ID of this portal server resource instance.
064: *
065: * @return the ID of this portal server resource instance.
066: */
067: public String getID();
068:
069: /**
070: * Returns the sets of values of the resource attributes with the
071: * given names. The returned value is a map whose keySet is the
072: * set of attribute names given and each value of the map is a set
073: * of values of the corresponding attribute name as key. If any
074: * attribute has no value, the corresponding map value is an empty
075: * Set.
076: *
077: * @param type the type of the Portal Server resource.
078: * @param names the set of attribute names.
079: * @return a Map whose keySet is the Set of attribute names given
080: * and whose values are the Sets of attribute values.
081: * @exception PSMBeanException if an error occurs when getting the
082: * sets of attribute values.
083: */
084: public Map getMultipleAttributeValues(String type, Set names)
085: throws PSMBeanException;
086:
087: /**
088: * Sets the resource attributes with the given names to the given
089: * values, replacing the old values if there were any. The keys
090: * of the given attributes map are the attribute names and the
091: * values are Sets of String values.
092: *
093: * @param type the type of the Portal Server resource.
094: * @param attributes a map of name-values pairs where each key
095: * is an attribute name and the corresponding
096: * value is a Set of String values.
097: * @exception PSMBeanException if an error occurs when setting the
098: * attribute values.
099: */
100: public void setMultipleAttributeValues(String type, Map attributes)
101: throws PSMBeanException;
102:
103: /**
104: * Returns the set of values of the resource attribute with the
105: * given name. If the attribute has no value, an empty Set is returned.
106: *
107: * @param type the type of the Portal Server resource.
108: * @param name name of the attribute.
109: * @return a Set of Strings.
110: * @exception PSMBeanException if an error occurs when getting the
111: * attribute values.
112: */
113: public Set getAttributeValues(String type, String name)
114: throws PSMBeanException;
115:
116: /**
117: * Sets the values of the resource attribute with the given name
118: * to the given values, replacing the old values if there were any.
119: *
120: * @param type the type of the Portal Server resource.
121: * @param name name of the attribute.
122: * @param values values of the attribute to be set to.
123: * @exception PSMBeanException if an error occurs when setting the
124: * attribute values.
125: */
126: public void setAttributeValues(String type, String name, Set values)
127: throws PSMBeanException;
128:
129: /**
130: * Returns the value of the resource attribute with the given
131: * name. If the attribute has more than one values, the first one
132: * is returned. If the attribute has no value, <code>null</code>
133: * is returned.
134: *
135: * @param type the type of the Portal Server resource.
136: * @param name name of the attribute.
137: * @return the first value if more than one; <code>null</code> if no value.
138: * @exception PSMBeanException if an error occurs when getting the
139: * attribute value.
140: */
141: public String getAttributeValue(String type, String name)
142: throws PSMBeanException;
143:
144: /**
145: * Sets the value of the resource attribute with the given name to
146: * the given value, replacing the old values if there were any.
147: *
148: * @param type the type of the Portal Server resource.
149: * @param name name of the attribute.
150: * @param value value of the attribute to be set to.
151: * @exception PSMBeanException if an error occurs when setting the
152: * attribute value.
153: */
154: public void setAttributeValue(String type, String name, String value)
155: throws PSMBeanException;
156:
157: /**
158: * Invokes a method on a remote host be connecting to the Cacao MBean
159: * server on the host sepecified in the params.
160: *
161: * @param host FQDN hostname of the target host
162: * @param on MBean Object Name
163: * @param operationName The method name to be invoked
164: * @param params method params as an Object array
165: * @param signature method signature definined in a String array
166: * @throws com.sun.portal.admin.common.PSMBeanException exceptions
167: * @return an Object resulting in the method invocation
168: */
169: public Object invokeRemoteOperation(String host, ObjectName on,
170: String operationName, Object[] params, String[] signature)
171: throws PSMBeanException;
172:
173: }
|