home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 January / PCO0198.ISO / browser / net_linx / jae40.jar / java / beans / EventSetDescriptor.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  3.0 KB  |  129 lines

  1. package java.beans;
  2.  
  3. import java.lang.reflect.Method;
  4.  
  5. public class EventSetDescriptor extends FeatureDescriptor {
  6.    private Class listenerType;
  7.    private Method[] listenerMethods;
  8.    private MethodDescriptor[] listenerMethodDescriptors;
  9.    private Method addMethod;
  10.    private Method removeMethod;
  11.    private boolean unicast;
  12.    private boolean inDefaultEventSet = true;
  13.  
  14.    public EventSetDescriptor(Class var1, String var2, Class var3, String var4) throws IntrospectionException {
  15.       ((FeatureDescriptor)this).setName(var2);
  16.       this.listenerType = var3;
  17.       this.listenerMethods = new Method[1];
  18.       this.listenerMethods[0] = Introspector.findMethod(var3, var4, 1);
  19.       String var5 = var3.getName();
  20.       String var6 = var5.substring(var5.lastIndexOf(46) + 1);
  21.       String var7 = "add" + var6;
  22.       this.addMethod = Introspector.findMethod(var1, var7, 1);
  23.       String var8 = "remove" + var6;
  24.       this.removeMethod = Introspector.findMethod(var1, var8, 1);
  25.    }
  26.  
  27.    public EventSetDescriptor(Class var1, String var2, Class var3, String[] var4, String var5, String var6) throws IntrospectionException {
  28.       ((FeatureDescriptor)this).setName(var2);
  29.       this.listenerMethods = new Method[var4.length];
  30.  
  31.       for(int var7 = 0; var7 < this.listenerMethods.length; ++var7) {
  32.          this.listenerMethods[var7] = Introspector.findMethod(var3, var4[var7], 1);
  33.       }
  34.  
  35.       this.addMethod = Introspector.findMethod(var1, var5, 1);
  36.       this.removeMethod = Introspector.findMethod(var1, var6, 1);
  37.       this.listenerType = var3;
  38.    }
  39.  
  40.    public EventSetDescriptor(String var1, Class var2, Method[] var3, Method var4, Method var5) throws IntrospectionException {
  41.       ((FeatureDescriptor)this).setName(var1);
  42.       this.listenerMethods = var3;
  43.       this.addMethod = var4;
  44.       this.removeMethod = var5;
  45.       this.listenerType = var2;
  46.    }
  47.  
  48.    public EventSetDescriptor(String var1, Class var2, MethodDescriptor[] var3, Method var4, Method var5) throws IntrospectionException {
  49.       ((FeatureDescriptor)this).setName(var1);
  50.       this.listenerMethodDescriptors = var3;
  51.       this.addMethod = var4;
  52.       this.removeMethod = var5;
  53.       this.listenerType = var2;
  54.    }
  55.  
  56.    public Class getListenerType() {
  57.       return this.listenerType;
  58.    }
  59.  
  60.    public Method[] getListenerMethods() {
  61.       if (this.listenerMethods == null && this.listenerMethodDescriptors != null) {
  62.          this.listenerMethods = new Method[this.listenerMethodDescriptors.length];
  63.  
  64.          for(int var1 = 0; var1 < this.listenerMethods.length; ++var1) {
  65.             this.listenerMethods[var1] = this.listenerMethodDescriptors[var1].getMethod();
  66.          }
  67.       }
  68.  
  69.       return this.listenerMethods;
  70.    }
  71.  
  72.    public MethodDescriptor[] getListenerMethodDescriptors() {
  73.       if (this.listenerMethodDescriptors == null && this.listenerMethods != null) {
  74.          this.listenerMethodDescriptors = new MethodDescriptor[this.listenerMethods.length];
  75.  
  76.          for(int var1 = 0; var1 < this.listenerMethods.length; ++var1) {
  77.             this.listenerMethodDescriptors[var1] = new MethodDescriptor(this.listenerMethods[var1]);
  78.          }
  79.       }
  80.  
  81.       return this.listenerMethodDescriptors;
  82.    }
  83.  
  84.    public Method getAddListenerMethod() {
  85.       return this.addMethod;
  86.    }
  87.  
  88.    public Method getRemoveListenerMethod() {
  89.       return this.removeMethod;
  90.    }
  91.  
  92.    public void setUnicast(boolean var1) {
  93.       this.unicast = var1;
  94.    }
  95.  
  96.    public boolean isUnicast() {
  97.       return this.unicast;
  98.    }
  99.  
  100.    public void setInDefaultEventSet(boolean var1) {
  101.       this.inDefaultEventSet = var1;
  102.    }
  103.  
  104.    public boolean isInDefaultEventSet() {
  105.       return this.inDefaultEventSet;
  106.    }
  107.  
  108.    EventSetDescriptor(EventSetDescriptor var1, EventSetDescriptor var2) {
  109.       super(var1, var2);
  110.       this.listenerMethodDescriptors = var1.listenerMethodDescriptors;
  111.       if (var2.listenerMethodDescriptors != null) {
  112.          this.listenerMethodDescriptors = var2.listenerMethodDescriptors;
  113.       }
  114.  
  115.       if (this.listenerMethodDescriptors == null) {
  116.          this.listenerMethods = var2.listenerMethods;
  117.       }
  118.  
  119.       this.addMethod = var2.addMethod;
  120.       this.removeMethod = var2.removeMethod;
  121.       this.unicast = var2.unicast;
  122.       this.listenerType = var2.listenerType;
  123.       if (!var1.inDefaultEventSet || !var2.inDefaultEventSet) {
  124.          this.inDefaultEventSet = false;
  125.       }
  126.  
  127.    }
  128. }
  129.