001: /*
002: * JBoss, Home of Professional Open Source.
003: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
004: * as indicated by the @author tags. See the copyright.txt file in the
005: * distribution for a full listing of individual contributors.
006: *
007: * This is free software; you can redistribute it and/or modify it
008: * under the terms of the GNU Lesser General Public License as
009: * published by the Free Software Foundation; either version 2.1 of
010: * the License, or (at your option) any later version.
011: *
012: * This software is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of
014: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015: * Lesser General Public License for more details.
016: *
017: * You should have received a copy of the GNU Lesser General Public
018: * License along with this software; if not, write to the Free
019: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
021: */
022: package org.jboss.resource.connectionmanager;
023:
024: import javax.management.ObjectName;
025: import javax.resource.spi.ManagedConnectionFactory;
026:
027: import org.jboss.mx.util.ObjectNameFactory;
028: import org.jboss.system.ServiceMBean;
029: import org.w3c.dom.Element;
030:
031: /**
032: * MBean interface.
033: *
034: * @author <a href="mailto:adrian@jboss.com">Adrian Brock</a>
035: * @version $Revision: 57189 $
036: */
037: public interface RARDeploymentMBean extends ServiceMBean,
038: ManagedConnectionFactory {
039: public static final ObjectName OBJECT_NAME = ObjectNameFactory
040: .create("jboss.jca:service=RARDeployment");
041:
042: /**
043: * The OldRarDeployment attribute refers to a previous-generation RARDeployment. THIS IS A HACK UNTIL XSLT DEPLOYMENT IS WRITTEN
044: *
045: * @return value of OldRarDeployment
046: */
047: ObjectName getOldRarDeployment();
048:
049: /**
050: * Set the value of OldRarDeployment
051: *
052: * @param oldRarDeployment - Value to assign to OldRarDeployment
053: */
054: void setOldRarDeployment(ObjectName oldRarDeployment);
055:
056: /**
057: * The RARName attribute holds the file name of the rar
058: *
059: * @return the rar name value.
060: */
061: String getRARName();
062:
063: /**
064: * Set the RARName value.
065: *
066: * @param rarName The new DisplayName value.
067: */
068: void setRARName(String rarName);
069:
070: /**
071: * The connection definition inside the rar, it identifies the unique connection factory
072: *
073: * @return the rar name value.
074: */
075: String getConnectionDefinition();
076:
077: /**
078: * Set the connection definition.
079: *
080: * @param connectionDefinition - the connection definition
081: */
082: void setConnectionDefinition(String connectionDefinition);
083:
084: /**
085: * The VendorName attribute holds the VendorName from the ra.xml It should be supplied by xslt from ra.xml
086: *
087: * @return the VendorName value.
088: */
089: String getVendorName();
090:
091: /**
092: * Set the VendorName value.
093: *
094: * @param vendorName The new VendorName value.
095: */
096: void setVendorName(String vendorName);
097:
098: /**
099: * The SpecVersion attribute holds the SpecVersion from the ra.xml It should be supplied by xslt from ra.xml
100: *
101: * @return the SpecVersion value.
102: */
103: String getSpecVersion();
104:
105: /**
106: * Set the SpecVersion value.
107: *
108: * @param specVersion The new SpecVersion value.
109: */
110: void setSpecVersion(String specVersion);
111:
112: /**
113: * The EisType attribute holds the EisType from the ra.xml. It should be supplied by xslt from ra.xml
114: *
115: * @return the EisType value.
116: */
117: String getEisType();
118:
119: /**
120: * Set the EisType value.
121: *
122: * @param eisType The new EisType value.
123: */
124: void setEisType(String eisType);
125:
126: /**
127: * The Version attribute holds the Version from the ra.xml. It should be supplied by xslt from ra.xml
128: *
129: * @return the Version value.
130: */
131: String getVersion();
132:
133: /**
134: * Set the Version value.
135: *
136: * @param version The new Version value.
137: */
138: void setVersion(String version);
139:
140: /**
141: * The ManagedConnectionFactoryClass attribute holds the ManagedConnectionFactoryClass from the ra.xml. It should be supplied by xslt from ra.xml
142: *
143: * @return the ManagedConnectionFactoryClass value.
144: */
145: String getManagedConnectionFactoryClass();
146:
147: /**
148: * Set the ManagedConnectionFactoryClass value.
149: *
150: * @param managedConnectionFactoryClass The new ManagedConnectionFactoryClass value.
151: */
152: void setManagedConnectionFactoryClass(
153: String managedConnectionFactoryClass);
154:
155: /**
156: * The ConnectionFactoryInterface attribute holds the ConnectionFactoryInterface from the ra.xml. It should be supplied by xslt from ra.xml
157: *
158: * @return the ConnectionFactoryInterface value.
159: */
160: String getConnectionFactoryInterface();
161:
162: /**
163: * Set the ConnectionFactoryInterface value.
164: *
165: * @param connectionFactoryInterface The ConnectionFactoryInterface value.
166: */
167: void setConnectionFactoryInterface(String connectionFactoryInterface);
168:
169: /**
170: * The ConnectionFactoryImplClass attribute holds the ConnectionFactoryImplClass from the ra.xml. It should be supplied by xslt from ra.xml
171: *
172: * @return the ConnectionFactoryImplClass value.
173: */
174: String getConnectionFactoryImplClass();
175:
176: /**
177: * Set the ConnectionFactoryImplClass value.
178: *
179: * @param connectionFactoryImplClass The ConnectionFactoryImplClass value.
180: */
181: void setConnectionFactoryImplClass(String connectionFactoryImplClass);
182:
183: /**
184: * The ConnectionInterface attribute holds the ConnectionInterface from the ra.xml. It should be supplied by xslt from ra.xml
185: *
186: * @return the ConnectionInterface value.
187: */
188: String getConnectionInterface();
189:
190: /**
191: * Set the ConnectionInterface value.
192: *
193: * @param connectionInterface The ConnectionInterface value.
194: */
195: void setConnectionInterface(String connectionInterface);
196:
197: /**
198: * The ConnectionImplClass attribute holds the ConnectionImplClass from the ra.xml. It should be supplied by xslt from ra.xml
199: *
200: * @return the connectionImplClass value.
201: */
202: String getConnectionImplClass();
203:
204: /**
205: * Set the ConnectionImplClass value.
206: *
207: * @param connectionImplClass The ConnectionImplClass value.
208: */
209: void setConnectionImplClass(String connectionImplClass);
210:
211: /**
212: * The TransactionSupport attribute holds the TransactionSupport from the ra.xml. It should be supplied by xslt from ra.xml It is ignored, and choice of ConnectionManager implementations determine transaction support. Get the TransactionSupport value.
213: *
214: * @return the TransactionSupport value.
215: */
216: String getTransactionSupport();
217:
218: /**
219: * Set the TransactionSupport value.
220: *
221: * @param transactionSupport The TransactionSupport value.
222: */
223: void setTransactionSupport(String transactionSupport);
224:
225: /**
226: * The ManagedConnectionFactoryProperties attribute holds the ManagedConnectionFactoryProperties from the ra.xml, together with user supplied values for all or some of these properties. This must be supplied as an element in the same format as in ra.xml, wrapped in a properties tag. It should be supplied by xslt from ra.xml merged with an user configuration xml file. An alternative format has a config-property element with attributes for name and type and the value as content.
227: *
228: * @return the ManagedConnectionFactoryProperties value.
229: */
230: Element getManagedConnectionFactoryProperties();
231:
232: /**
233: * Set the ManagedConnectionFactoryProperties value.
234: *
235: * @param managedConnectionFactoryProperties The ManagedConnectionFactoryProperties value.
236: */
237: void setManagedConnectionFactoryProperties(
238: Element managedConnectionFactoryProperties);
239:
240: /**
241: * The AuthenticationMechanismType attribute holds the AuthenticationMechanismType from the ra.xml. It should be supplied by xslt from ra.xml
242: *
243: * @return the AuthenticationMechanismType value.
244: */
245: String getAuthenticationMechanismType();
246:
247: /**
248: * Set the AuthenticationMechanismType value.
249: *
250: * @param authenticationMechanismType The AuthenticationMechanismType value.
251: */
252: void setAuthenticationMechanismType(
253: String authenticationMechanismType);
254:
255: /**
256: * The CredentialInterface attribute holds the CredentialInterface from the ra.xml. It should be supplied by xslt from ra.xml
257: *
258: * @return the CredentialInterface value.
259: */
260: String getCredentialInterface();
261:
262: /**
263: * Set the CredentialInterface value.
264: *
265: * @param credentialInterface The CredentialInterface value.
266: */
267: void setCredentialInterface(String credentialInterface);
268:
269: /**
270: * The ReauthenticationSupport attribute holds the ReauthenticationSupport from the ra.xml. It should be supplied by xslt from ra.xml
271: *
272: * @return the ReauthenticationSupport value.
273: */
274: boolean isReauthenticationSupport();
275:
276: /**
277: * Set the ReauthenticationSupport value.
278: *
279: * @param reauthenticationSupport The ReauthenticationSupport value.
280: */
281: void setReauthenticationSupport(boolean reauthenticationSupport);
282:
283: /**
284: * The <code>getMcfInstance</code> method returns the ManagedConnectionFactory instance represented by this mbean. It is needed so PasswordCredentials can match up correctly. This will probably have to be implemented as an interceptor when the mcf is directly deployed as an mbean.
285: * @return a <code>ManagedConnectionFactory</code> value
286: */
287: ManagedConnectionFactory getMcfInstance();
288:
289: /**
290: * The setManagedConnectionFactoryAttribute method can be used to set attributes on the ManagedConnectionFactory from code, without using the xml configuration.
291: *
292: * @param name a <code>String</code> value
293: * @param clazz a <code>Class</code> value
294: * @param value an <code>Object</code> value
295: */
296: void setManagedConnectionFactoryAttribute(String name, Class clazz,
297: Object value);
298:
299: /**
300: * The <code>getManagedConnectionFactoryAttribute</code> method can be used to examine the managed connection factory properties.
301: *
302: * @param name a <code>String</code> value
303: * @return an <code>Object</code> value
304: */
305: Object getManagedConnectionFactoryAttribute(String name);
306: }
|