home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / java / beans / beancontext / BeanContextChildSupport.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  3.3 KB  |  129 lines

  1. package java.beans.beancontext;
  2.  
  3. import java.beans.PropertyChangeEvent;
  4. import java.beans.PropertyChangeListener;
  5. import java.beans.PropertyChangeSupport;
  6. import java.beans.PropertyVetoException;
  7. import java.beans.VetoableChangeListener;
  8. import java.beans.VetoableChangeSupport;
  9. import java.io.IOException;
  10. import java.io.ObjectInputStream;
  11. import java.io.ObjectOutputStream;
  12. import java.io.Serializable;
  13.  
  14. public class BeanContextChildSupport implements BeanContextChild, BeanContextServicesListener, Serializable {
  15.    static final long serialVersionUID = 6328947014421475877L;
  16.    public BeanContextChild beanContextChildPeer;
  17.    protected PropertyChangeSupport pcSupport;
  18.    protected VetoableChangeSupport vcSupport;
  19.    protected transient BeanContext beanContext;
  20.    protected transient boolean rejectedSetBCOnce;
  21.  
  22.    public BeanContextChildSupport() {
  23.       this.beanContextChildPeer = this;
  24.       this.pcSupport = new PropertyChangeSupport(this.beanContextChildPeer);
  25.       this.vcSupport = new VetoableChangeSupport(this.beanContextChildPeer);
  26.    }
  27.  
  28.    public BeanContextChildSupport(BeanContextChild var1) {
  29.       this.beanContextChildPeer = (BeanContextChild)(var1 != null ? var1 : this);
  30.       this.pcSupport = new PropertyChangeSupport(this.beanContextChildPeer);
  31.       this.vcSupport = new VetoableChangeSupport(this.beanContextChildPeer);
  32.    }
  33.  
  34.    public synchronized void setBeanContext(BeanContext var1) throws PropertyVetoException {
  35.       if (var1 != this.beanContext) {
  36.          BeanContext var2 = this.beanContext;
  37.          BeanContext var3 = var1;
  38.          if (!this.rejectedSetBCOnce) {
  39.             if (this.rejectedSetBCOnce = !this.validatePendingSetBeanContext(var1)) {
  40.                throw new PropertyVetoException("setBeanContext() change rejected:", new PropertyChangeEvent(this.beanContextChildPeer, "beanContext", var2, var1));
  41.             }
  42.  
  43.             try {
  44.                this.fireVetoableChange("beanContext", var2, var3);
  45.             } catch (PropertyVetoException var5) {
  46.                this.rejectedSetBCOnce = true;
  47.                throw var5;
  48.             }
  49.          }
  50.  
  51.          if (this.beanContext != null) {
  52.             this.releaseBeanContextResources();
  53.          }
  54.  
  55.          this.beanContext = var1;
  56.          this.rejectedSetBCOnce = false;
  57.          this.firePropertyChange("beanContext", var2, var1);
  58.          if (this.beanContext != null) {
  59.             this.initializeBeanContextResources();
  60.          }
  61.  
  62.       }
  63.    }
  64.  
  65.    public synchronized BeanContext getBeanContext() {
  66.       return this.beanContext;
  67.    }
  68.  
  69.    public void addPropertyChangeListener(String var1, PropertyChangeListener var2) {
  70.       this.pcSupport.addPropertyChangeListener(var1, var2);
  71.    }
  72.  
  73.    public void removePropertyChangeListener(String var1, PropertyChangeListener var2) {
  74.       this.pcSupport.removePropertyChangeListener(var1, var2);
  75.    }
  76.  
  77.    public void addVetoableChangeListener(String var1, VetoableChangeListener var2) {
  78.       this.vcSupport.addVetoableChangeListener(var1, var2);
  79.    }
  80.  
  81.    public void removeVetoableChangeListener(String var1, VetoableChangeListener var2) {
  82.       this.vcSupport.removeVetoableChangeListener(var1, var2);
  83.    }
  84.  
  85.    public void serviceRevoked(BeanContextServiceRevokedEvent var1) {
  86.    }
  87.  
  88.    public void serviceAvailable(BeanContextServiceAvailableEvent var1) {
  89.    }
  90.  
  91.    public BeanContextChild getBeanContextChildPeer() {
  92.       return this.beanContextChildPeer;
  93.    }
  94.  
  95.    public boolean isDelegated() {
  96.       return !this.equals(this.beanContextChildPeer);
  97.    }
  98.  
  99.    public void firePropertyChange(String var1, Object var2, Object var3) {
  100.       this.pcSupport.firePropertyChange(var1, var2, var3);
  101.    }
  102.  
  103.    public void fireVetoableChange(String var1, Object var2, Object var3) throws PropertyVetoException {
  104.       this.vcSupport.fireVetoableChange(var1, var2, var3);
  105.    }
  106.  
  107.    public boolean validatePendingSetBeanContext(BeanContext var1) {
  108.       return true;
  109.    }
  110.  
  111.    protected void releaseBeanContextResources() {
  112.    }
  113.  
  114.    protected void initializeBeanContextResources() {
  115.    }
  116.  
  117.    private void writeObject(ObjectOutputStream var1) throws IOException {
  118.       if (!this.equals(this.beanContextChildPeer) && !(this.beanContextChildPeer instanceof Serializable)) {
  119.          throw new IOException("BeanContextChildSupport beanContextChildPeer not Serializable");
  120.       } else {
  121.          var1.defaultWriteObject();
  122.       }
  123.    }
  124.  
  125.    private void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
  126.       var1.defaultReadObject();
  127.    }
  128. }
  129.