1 /*------------------------------------------------------------------------------
2 Name: XmlScriptAccessBeanInfo.java
3 Project: xmlBlaster.org
4 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file
5 ------------------------------------------------------------------------------*/
6 package org.xmlBlaster.client.activex;
7
8 import java.beans.SimpleBeanInfo;
9 import java.beans.EventSetDescriptor;
10 import java.beans.IntrospectionException;
11
12 /**
13 * Provide bean info for XmlScriptAccess to be used by ActiveX bridge callback events.
14 * @author <a href="mailto:xmlBlaster@marcelruff.info">Marcel Ruff</a>
15 */
16 public class XmlScriptAccessBeanInfo extends SimpleBeanInfo {
17 private static String ME = "XmlScriptAccessBeanInfo";
18
19 /**
20 * Create a new bean info.
21 */
22 public XmlScriptAccessBeanInfo() {
23 //System.out.println(ME + "Calling ctor");
24 }
25
26 /**
27 * Setting explicit event set info.
28 */
29 public EventSetDescriptor[] getEventSetDescriptors() {
30 EventSetDescriptor[] arr = new EventSetDescriptor[1];
31 Class sourceClass = XmlScriptAccess.class;
32 String eventSetName = "update"; // -> UpdateEvent
33 Class listenerType = UpdateListener.class; // -> addUpdateListener
34 String listenerMethodName = "update";
35 try {
36 EventSetDescriptor ev = new EventSetDescriptor(sourceClass, eventSetName, listenerType, listenerMethodName);
37 arr[0] = ev;
38 return arr;
39 }
40 catch (IntrospectionException e) {
41 System.out.println(ME + ": Problems creating EventSetDescriptor: " + e.toString());
42 throw new RuntimeException(e.toString());
43 }
44 }
45
46 /**
47 * For testing: java org.xmlBlaster.client.activex.XmlScriptAccessBeanInfo
48 */
49 public static void main(String args[]) {
50 XmlScriptAccessBeanInfo beanInfo = new XmlScriptAccessBeanInfo();
51 EventSetDescriptor[] eArr = beanInfo.getEventSetDescriptors();
52 for(int i=0; i<eArr.length; i++) {
53 java.beans.MethodDescriptor[] mArr = eArr[i].getListenerMethodDescriptors();
54 for(int j=0; j<mArr.length; j++)
55 System.out.println("Method: " + mArr[j].getMethod().toString());
56 }
57 }
58 }
syntax highlighted by Code2HTML, v. 0.9.1