$BL\ | $BA0$N9`L\(B | $B JavaBeans $B$N3HD%2DG=%i%s%?%$%`Jq4^4X78$*$h$S%5!<%S%9%W%m%H%3%k(B


2.0 API $B;EMM(B


2.1 java.beans.beancontext.BeanContext $B%$%s%?%U%'!<%9(B

BeanContext $B$N3,AX9=B$$*$h$S$=$N0lHLE*$J5!G=$O!"
public interface java.beans.beancontext.BeanContext
         extends java.beans.beancontext.BeanContextChild,
		         java.util.Collection,
			     java.beans.DesignMode,
		 	     java.beans.Visibility {

	Object instantiateChild(String beanName)
		    throws IOException, ClassNotFoundException;

	public InputStream
		getResourceAsStream(String           name,
		                    BeanContextChild requestor
		);

	public java.net.URL
		getResource(String           name,
		            BeanContextChild requestor
		);

	void addBeanContextMembershipListener(
		    BeanContextMembershipListener bcml
          );

	void removeBeanContextMembershipListener{
		    BeanContextMembershipListener bcml
	);

	public static final Object globalHierarchyLock;
}

BeanContext $B$N%a%s%P%7%C%WFb$NJQ99DLCN$O!"
public interface BeanContextMembershipListener
	   extends   java.util.Listener {
	void childrenAdded(BeanContextMembershipEvent   bcme);
	void childrenRemoved(BeanContextMembershipEvent bcme);

}

$B%$%Y%s%H4XO"$N$9$Y$F$N(B BeanContext $B$N4pDl%/%i%9$O!"
public abstract class BeanContextEvent
	   extends java.util.EventObject {
	public BeanContext getBeanContext();

	public synchronized void
		setPropagatedFrom(BeanContext bc);

	public synchronized BeanContext getPropagatedFrom();

	public synchronized boolean isPropagated()

}


BeanContextMembershipEvent $B$O!"
public class BeanContextMembershipEvent
	   extends BeanContextEvent {

	public BeanContextMembershipEvent(BeanContext bc,
	                                  Object[]    deltas);

	public BeanContextMembershipEvent(BeanContext bc,
	                                  Collection	 deltas);

	public int size();

	public boolean contains(Object child);

	public Object[] toArray();

	public Iterator iterator();

}

2.1.1 $BF~$l;R9=B$$K4^$^$l$k(B BeanContext

BeanContext $B$NLr3d$N(B 1 $B$D$K!"(BBeanContext $B$*$h$S(B JavaBean $B%$%s%9%?%s%9$N3,AXE*F~$l;R9=B$$H$$$&35G0$NF3F~$,$"$j$^$9!#(B $B$3$N9=B$$r%b%G%k2=$9$k$?$a$K!"(BBeanContext $B$O!"9=B$$^$?$O3,AXFb$N4X78$rDj5A$9$k(B API $B$r8x3+$9$kI,MW$,$"$j$^$9!#(B

BeanContext $B$O!"8e=R$9$k$h$&$K(B java.beans.beancontext.BeanContextChild $B%$%s%?%U%'!<%9$rBeanContext $B$NF~$l;R$N(B BeanContext $B$N8!=P$*$h$SA`:n$,2DG=$K$J$j$^$9!#(B $B$=$N7k2L!"(BBeanContexts $B$N3,AX:n@.5!G=$,F3F~$5$l$^$9!#(B

BeanContext $B$O!"(Bjava.util.Collection $B%$%s%?%U%'!<%9%;%^%s%F%#%/%9$K$h$j%b%G%k2=$5$l$?B??t$N%$%s%?%U%'!<%9%a%=%C%I$r;H$C$F!"$=$N%5%V%9%H%i%/%A%c$r8x3+$7$^$9!#(B

BeanContexts $B$O!"$9$Y$F$NI,?\(B Collection API $B$G!"(Badd() $B$*$h$S(B remove() $BMQ$NFCDj$N%;%^%s%F%#%/%9$r;HMQ$9$k:]$KI,MW$H$5$l$^$9!#(B

add() $B%a%=%C%I$O!"?75,%*%V%8%'%/%H$G$"$k(B BeanContextChild $B$^$?$O(B BeanContext $B$r%?!<%2%C%H$N(B BeanContext $BFb$GF~$l;R$K$9$k$?$a$K8F$S=P$5$l$^$9!#(B $B$&$?$a$K$O!";EMM$K=`5r$7$Fadd() $B$,I,MW$G$9!#(B

remove() $B%a%=%C%I$O!"4{B8$N;R(B JavaBean $B$^$?$O(B BeanContext $B$r%?!<%2%C%H$N(B BeanContext $B$+$i:o=|$9$k>l9g$K8F$S=P$5$l$^$9!#(B $B$&$?$a$K$O!";EMM$K=`5r$7$Fremove() $B$,I,MW$G$9!#(B

$BF~$l;R$K$J$C$?(B BeanContext $B$N$9$Y$F$N;R$N/$J$/$H$b!";XDj$5$l$?(B BeanContext $BFb$G$N;R$NJq4^4X78$N7QB34|4V$K$J$j$^$9!#(B BeanContext $BFb$NJq4^4X78$r0U<1$7$J$$C1=c$J(B JavaBeans $B$N>l9g!"$3$l$O!"F~$l;R$K$J$C$?(B BeanContext $B$NM-8z4|4VCf$O>/$J$/$H$b(B JavaBean $B$,B8:_$9$k$3$H$r0UL#$7$^$9!#(B

BeanContext $B$G$O!"(Bjava.util.Collection API $B$K$h$C$FDj5A$5$l$?!"%*%W%7%g%s$N(B addAll()$B!"(BremoveAll()$B!"(BretainAll()$B!"$^$?$O(B clear() $B%a%=%C%I$N$$$:$l$+$rl9g$K$O!"A0=R$N(B add() $B$H(B remove() $BMQ$KDj5A$5$l$?%;%^%s%F%#%/%9$r%*%V%8%'%/%H$4$H$KuBV$K(B BeanContext $B$rLa$7$^$9!#(B $B<:GT;~$K$O!">e5-$N(B add() $B$*$h$S(B remove() $B$NDj5A$K9g$o$;$F!"(BBeanContextEvents $B$O%H%j%,!<$5$l$^$;$s!#(B

BeanContextMembershipListeners $B$NDI2C$*$h$S:o=|$O!"(BaddBeanContextMembershipListener() $B$*$h$S(B removeBeanContextMembershipListener() $B$N8F$S=P$7$rDL$7$F toArray() $B%a%=%C%I$O!"8=:_$N(B JavaBean $B%;%C%H$N%3%T!<$^$?$O%?!<%2%C%H$N(B BeanContext $BFb$GF~$l;R$K$J$C$?(B BeanContext $B$N%$%s%9%?%s%9$rJV$7$^$9!#(B $B$^$?!"(Biterator() $B%a%=%C%I$O!";R$NF1$8%;%C%H$K(B java.util.Iterator $B%*%V%8%'%/%H$rDs6!$7$^$9(B

$B;XDj$5$l$?%*%V%8%'%/%H$,8=:_(B BeanContext $B$N;R$G$"$k>l9g!"(Bcontains() $B%a%=%C%I$O(B true $B$rJV$7$^$9!#(B

size() $B%a%=%C%I$O!"F~$l;R$K$J$C$?8=:_$N;R$N?t$rJV$7$^$9!#(B

isEmpty() $B%a%=%C%I$O!"(BBeanContext $B$K;R$,$J$$>l9g!"(Btrue $B$rJV$7$^$9!#(B

$B$9$Y$F$N(B Collection $B%a%=%C%I$O!"%^%k%A%9%l%C%I4D6-$G@5$7$/5!G=$9$k$?$a$K!";XDj$5$l$?BeanContext $BFb$GF~$l;R$K$J$C$?(B JavaBeans $B%;%C%H$N%a%s%P%7%C%W$X$N$9$Y$F$NJQ99$,!"IT2DJ,$G3NBeanContext.globalHierarchyLock $B$r;H$C$F$3$l$i$N%a%=%C%I$N $B$"$k>u67$G$O!"(Badd() $B$*$h$S(B remove() ($B$^$?$O$=$NJQ2=7A(B) $BA`:n$,F~$l;R>uBV$G9T$o$l$k>l9g$,$"$j$^$9!#(B $B$=$N>l9g!"(BThread $B$rF1;~$K8F$S=P$9%9%?%C%/>e$GJ#?t$NA`:n$,F1;~$KH/@8$7$^$9!#(B $BBeanContextChild A $B$,DI2C(B ($B$^$?$O:o=|(B) $B$5$l$k$H!"$=$N(B setBeanContext() $B%a%=%C%I$O!"JL$N(B BeanContextChild B $B$bDI2C(B ($B$^$?$O:o=|(B) $B$7$^$9!#FCDj$N(B BeanContext $BBeanContextMembershipListener $BDLCN$rH/9T$9$k$3$H$,$"$j$^$9!#$=$N>l9g!"(BB $B$N(B add()/remove() $BA`:n$KBP$7$F(B 1 $B$DH/9T$7!"$=$N8e(B A $B$NA`:n$KBP$7$F(B 1 $B$DH/9T$9$k(B (B $B$,(B A $B$NA0$KDI2C$5$l$?$?$a$K$3$N=g=x$K$J$k(B) $B$+!"$^$?$O(B A $B$H(B B $B$NN>J}$r4^$`(B 1 $B$D$NDLCN$K$^$H$a$^$9!#(B $B$I$N$h$&$JM}M3$G$b(B A $B$rDI2C$^$?$O:o=|$G$-$J$$>l9g$K$O!"$3$N>r7o$r<($9(B PropertyVetoException $B$r%9%m!<$9$kA0$K!"I{:nMQ$H$7$FH/@8$9$k(B B $B$KBP$9$k$9$Y$F$NDI2C$^$?$O:o=|A`:n$NC$7$O9T$o$l$^$;$s!#(B $B$D$^$j!"FH<+$N%a%s%P%7%C%W$N>uBV$KBP$9$kJQ99$r5qH]$9$kA0$K!"I{:nMQ$H$7$FH/@8$9$k%a%s%P%7%C%W$NJQ99$OHr$1$k$+$^$?$OC$9I,MW$,$"$j$^$9!#(B

instantiateChild() $B%a%=%C%I$O!"?7$?$J(B JavaBean $B%$%s%9%?%s%9$rL\E*$N(B BeanContext $B$N;R$H$7$F%$%s%9%?%s%9@8@.$9$k:]$K8F$S=P$9$3$H$N$G$-$k4J0W%a%=%C%I$G$9!#(B JavaBean $B$NbeanName $B$Njava.beans.Beans.instantiate() $B%a%=%C%I$K$h$C$FDj5A$5$l$^$9!#(B

$B0lHL$K!"$3$l$OL\E*$N(B BeanContext $B$N(B ClassLoader $B$r;HMQ$7$F!"E,@Z$J(B java.beans.Beans.instantiate() $B%a%=%C%I$r8F$S=P$9$3$H$K$h$jBeanContext $Bl9g$,$"$j$^$9!#(B

BeanContextEvent $B$O!"(BBeanContext $B$NDj5A:Q$_%;%^%s%F%#%/%9$N>uBVJQ2=$KB0$9$k$9$Y$F$N%$%Y%s%H$KBP$9$kCj>]%k!<%H(B EventObject $B%/%i%9$G$9!#(B $B$3$NCj>]%k!<%H%/%i%9$O!"DLCN85$G$"$k(B BeanContexts $B$rDj5A$7!"(BBeanContexts $B$N3,AX$rDL$8$F(B BeanContextEvent $B%5%V%/%i%9$NEAGE$r2DG=$K$9$k5!9=$rF3F~$7$^$9!#(B setPropagatedFrom() $B$*$h$S(B getPropaga


2.1.2 $B%j%=!<%9(B

BeanContext $B$O!"(BgetResourceAsStream() $B$*$h$S(B getResource() $B$H$$$&(B 2 $B$D$N%a%=%C%I$rDj5A$7$^$9!#$3$l$i$N%a%=%C%I$O!"(Bjava.lang.ClassLoader $B>e$N%a%=%C%I$KN`;w$7$F$$$^$9!#(BBeanContext $BFb$GF~$l;R$K$J$C$?(B BeanContextChild $B%$%s%9%?%s%9$O!"F~$l;R9=B$$N(B BeanContext $B$KBP$9$k%a%=%C%I$r!"(BClassLoader $B$N%a%=%C%I$KM%@h$7$F8F$S=P$7$^$9!#(B $B$3$N$?$a!";R$H4pK\E*$J(B ClassLoader $B%;%^%s%F%#%/%94V$KF0:n$r3d$j9~$^$;$k$3$H$K$h$j!"(BBeanContext $B

2.1.3 $B%5!<%S%9%W%m%P%$%@$H$7$F$N(B BeanContext

BeanContext $B$N%5!<%S%95!G=$O!"
public interface BeanContextServices
	   extends   BeanContext,BeanContextServicesListener {

	boolean addService(Class           serviceClass,
	                   BeanContextServiceProvider service);

	boolean revokeService(Class           serviceClass,
	                      BeanContextServiceProvider bcsp,
	                      boolean         revokeNow
	);

	boolean hasService(Class serviceClass);

	Object getService(BeanContextChild      bcc,
	                  Object                requestor.
	                  Class                 serviceClass,
	                  Object                serviceSelector,
	                  BeanContextServicesRevokedListener sl
	) throws TooManyListenersException;

	void releaseService(BeanContextChild bcc,
	                    Object      requestor,
	                    Object      service);

	Iterator getCurrentServiceClasses();

	public Iterator getCurrentServiceSelectors(Class sc);

	addBeanContextServicesListener(
		BeanContextServicesListener bcsl
	);

	removeBeanContextServicesListener(
		BeanContextServicesListener bcsl
     );
}
BeanContextServiceProvider $B%$%s%?%U%'!<%9$O!"
public interface BeanContextServiceProvider {
    Object getService(BeanContext bc,
	                  Object      requestor,
	                  Class       serviceCls,
	                  Object      serviceSelector);

	void releaseService(BeanContext bc,
	                    Object      requestor,
	                    Object      service);

	Iterator getCurrentServiceSelectors(BeanContext bc,
	                                    Class serviceCls);
}
BeanContextServiceRevokedListener $B$O!"
public interface BeanContextServiceRevokedListener
	   extends java.util.EventListener {
	void serviceRevoked(
		BeanContextServiceRevokedEvent bcsre
	);
}
BeanContextServicesListener $B$O!"
public interface BeanContextServicesListener
	   extends BeanContextServiceRevokedListener {
	void serviceAvailable(
		BeanContextServiceAvailableEvent bcsae
	);
}
BeanContextServiceAvailableEvent $B$O!"
public class BeanContextServiceAvailableEvent
	   extends BeanContextEvent {

	public BeanContextServiceAvailableEvent(
			BeanContextServices        bcs,
			Class                      sc
     );

	BeanContextServices getSourceAsBeanContextServices();

	public Class getServiceClass();

	public boolean isServiceClass(Class serviceClass);

	public Iterator getCurrentServiceSelectors();

}
BeanContextServiceRevokedEvent $B$O!"
public class BeanContextServiceRevokedEvent
	   extends BeanContextEvent {
	public BeanContextServiceRevokedEvent(
				BeanContextServices        bcs,
				Class                      sc,
			    boolean                    invalidNow
	);

	public BeanContextServices
			getSourceAsBeanContextServices();

	public Class getServiceClass();

	public boolean isServiceClass(Class service);

	public boolean isCurrentServiceInvalidNow();
}
BeanContextServiceProviderBeanInfo $B$O!"
public interface BeanContextServicesProviderBeanInfo
       extends   java.beans.BeanInfo {
    java.beans.BeanInfo[] getServicesBeanInfo();
}
$B9=B$2=$5$l$?3,AX$rDs6!$9$k$3$H$r=|$/!"(BBeanContext $B$N Class $B%*%V%8%'%/%H$K$h$jDs6!$5$l$k%5!<%S%9$O!"DL>o!"%$%s%?%U%'!<%9!"$^$?$O(B public $B$H$7$F$N%$%s%9%?%s%9@8@.$,IT2DG=$JH$G$9!#(B $B$3$N(B Class $B$O!"(BBeanContextServiceProvider$B!"%5!<%S%9$N%U%!%/%H%j!"$*$h$S%5!<%S%9$,EPO?$5$l$F$$$k(B BeanContext $BFb$G8=:_F~$l;R$K$J$C$F$$$k(B BeanContextChild $B$H4XO"IU$1$i$l$?G$0U$N%*%V%8%'%/%H4V$N%$%s%?%U%'!<%9%W%m%H%3%k$^$?$O5,Ls$rDj5A$7$^$9!#(B $B0lHL$K!"$3$NBeanContextChild $B$N BeanContextServiceProvider $B$O!"(B1 $B$D0J>e$N%5!<%S%9$N!V%U%!%/%H%j!W$G$9!#(B $B$3$l$O!"%5!<%S%9$,(B BeanContextServices $B$KEPO?$5$l$F$$$J$$>l9g!"(BadService() $B%a%=%C%I$r2p$7$F<+$i$rFCDj$N(B BeanContextServices $B$KEPO?$7$^$9!#(B BeanContextServices $B$O!";XDj$5$l$?%5!<%S%9$r(B BeanContextServiceProvider $B$K4XO"IU$1!"(BserviceAvailable() $B%a%=%C%I7PM3$G(B BeanContextServiceAvailableEvent $B$r8=:_EPO?$5$l$F$$$k(B BeanContextServicesListeners $B$K%H%j%,!<$7!"$=$N8e(B true $B$rJV$7$^$9!#(B $B$=$l0J30$N>l9g$O(B false $B$rJV$7!"%5!<%S%9$,(B BeanContextServices $B$KEPO?$5$l$F$$$k$3$H$r<($7$^$9!#(B

$B$$$C$?$sEPO?$5$l$?%5!<%S%9$O!"C$5$l$k$^$G!"(BBeanContextServices getService() $B%a%=%C%I$r2p$7$FMxMQ2DG=$K$J$j$^$9!#(B

hasService() $B%a%=%C%I$O!"FCDj$N%5!<%S%9$,B8:_$9$k$+$I$&$+$r%F%9%H$9$k$?$a$K;HMQ2DG=$G$9!#$^$?!"(BgetCurrentServices() $B%a%=%C%I$O!"(BBeanContextServices $B$G8=:_MxMQ2DG=$J%5!<%S%9$KBP$7$FH?I|;R$rJV$7$^$9!#(B

BeanContextChild $B$^$?$O(B BeanContextChild $B$H4XO"IU$1$i$l$?G$0U$N%*%V%8%'%/%H$O!"(BgetService() $B%a%=%C%I$N8F$S=P$7$r2p$7$F!"F~$l;R$K$J$C$?(B BeanContextServices $B$+$i8=:_EPO?$5$l$F$$$k%5!<%S%9$X$N;2>H$rgetService() $B%a%=%C%I$,;XDj$9$k$N$O!"(BBeanContextChild$B!"4XO"IU$1$i$l$?MW5aClass$B!"%5!<%S%9$K0MB8$7$?%Q%i%a!<%?(B ($B%5!<%S%9%;%l%/%?$H$7$FCN$i$l$k(B)$B!"$*$h$S$=$N8e!"(B BeanContextServiceProvider $B$K$h$jC$5$l$?%5!<%S%9%/%i%9$rMW5aBeanContextServicesRevokedListener $B$G$9!#(B $B%j%9%J!<$O!"MW5aH$9$Y$F$rJ|4~$9$k$+!"(BBeanContextServiceProvider $B$rDs6!$9$k$3$H$K$h$j%5!<%S%9$,6/@)E*$KC$5$l$?>l9g$K$=$NI{:nMQ$H$7$F!"<+F0E*$KEPO?2r=|$5$l$^$9!#(B

BeanContextServices $B$O!"$3$N(B getService() $B8F$S=P$7$r!"4XO"$9$k(B BeanContextServiceProvider ($BB8:_$9$k>l9g(B) $B$KEO$7!"$=$N(B getService() $B%a%=%C%I$N8F$S=P$7$r2p$7$F>r7o$,K~$?$5$l$k$h$&$K$7$^$9!#(B BeanContextServiceProvider $B$O!"(BBeanContext$B!"Ds6!$5$l$k%5!<%S%9$N%/%i%9!"%5!<%S%9$K0MB8$7$?%5!<%S%9%Q%i%a!<%?(B ($B%5!<%S%9%;%l%/%?(B)$B!"$*$h$S%5!<%S%9$rMW5a$9$k%*%V%8%'%/%H$X$N;2>H$KEO$5$l$^$9!#(B

BeanContext $B$X$N;2>H$O!"(BBeanContextServiceProvider $B$KBP$7!"J#?t$N%=!<%9$+$i$N%5!<%S%9MW5a$r<1JL2DG=$K$9$k$3$H$rL\E*$H$7$F$$$^$9!#(B BeanContextServiceProvider $B$K$O!" $B(B $B2.1.(B´   $B;}B3@-$r;}$D(B BeanContext $B$NLr3d(B

BeanContext $B$NBeanContext $B$N%$%s%9%?%s%93,AX$NI=8=$G$9!#$3$N$?$a!"3,AX$,;}B3E*$G$"$k$5$^$6$^$J%7%J%j%*$r4|BT$9$k$N$OEvA3$N$3$H$G$9!#3,AX$,;}B3E*$G$"$k$H$O!"$D$^$j!"(BBeanContext $B$,;}B3@-5!9=!"FC$K(B java.io.Serializable $B$^$?$O(B java.io.Externalizable $B$N$$$:$l$+$K;22C$9$k>l9g$N$3$H$r;X$7$^$9!#8el9g!"(BBeanContext $B$O!";R$N%5%V%0%i%UMQ$N;}B3@-%3%s%F%J!"%/%i%9>pJs$NId9f2=$*$h$SI|9f2=!"$*$h$SD>Ns2=2r=|8e$N%5%V%0%i%UAjEv5!G=$N0];}$J$I!"4pK\E*$K(B ObjectOutputStream $B$*$h$S(B ObjectInputStream $B$K$h$kD>Ns2=$KBP1~$7$?5!G=$rDs6!$7$^$9!#(B

$BFC$K!"(BBeanContext $B$O!"<+?H$,;}B3@-$rIUM?$5$l$k$+I|85$5$l$?>l9g!";}B3@-$r;}$A!"$+$DE,@Z$J;}B3@-%$%s%?%U%'!<%9$r $B>e5-$NMW7o$N7k2L$H$7$F!"F~$l;R$K$J$C$F$$$k(B BeanContext $B$X$N$9$Y$F$N;2>H!"$^$?$OF~$l;R$K$J$C$F$$$k(B BeanContextServices $B7PM3$GyH$r;}B3@-$N$J$$$b$N$K$9$k$?$a$K!";}B3@-$r;}$D(B BeanContextChild $B$N BeanContexts $B$O!";}B3>uBV$+$i$N%$%s%9%?%s%9$rI|85$9$k:]$K!"?7$?$K%$%s%9%?%s%9@8@.$5$l$?(B BeanContextChild $B$X$N(B add() $B$N8F$S=P$7$HEy2A$JF0:n$rBeanContext $B$N?7$?$KI|85$5$l$?%$%s%9%?%s%9$,DLCN$5$l$k$?$a!"(BBeanContextChild $B$O$=$N4D6-$X$N0MB84X78$r==J,$K:F3NN)$G$-$k$h$&$K$J$j$^$9!#(B

$B$^$?!"(BBeanContext $B$O(B java.beans.beancontext.BeanContextChild $B$r


2.1.5 $B4XO"IU$1$i$l$?%W%l%<%s%F!<%7%g%s3,AX$G$N(B BeanContext

$BI,?\$G$O$"$j$^$;$s$,!"B?$/$N(B BeanContext $B$O(B java.awt.Container $B$*$h$S(B java.awt.Component $B$NI=<(3,AXFb$G4XO"IU$1$k$3$H$,$G$-$^$9!#(BContainer $B$O(B BeanContext $B$rD>@\2 $B$,!"$=$3$K5-=R$5$l$?(B BeanContextProxy $B%$%s%?%U%'!<%9$rBeanContext $B$K4XO"IU$1$k$3$H$,$G$-$^$9!#(B

public interface BeanContextProxy {
    BeanContext getBeanContext();
}


BeanContext $B%$%s%?%U%'!<%9$rD>@\l9g$O!"l9g!"(B($B%G%j%2!<%7%g%s$r2p$7$F(B) $B$=$N%$%s%9%?%s%9$O(B BeanContextProxy $B%$%s%?%U%'!<%9$rBeanContext $B$NLd$$9g$o$;$*$h$S8!=P$r9T$$!"4XO"IU$1$i$l$?(B BeanContext $BFb$GF~$l;R$K$J$C$?%*%V%8%'%/%H$+$i%a%s%P%7%C%WJQ99$r8!=P$9$k$+!"$^$?$O$=$N%5!<%S%9$r $B$^$?!"J#?t$NJL8D$N%*%V%8%'%/%H(B ($BNc(B: Container) $B$,C10l$N(B BeanContext $B$r6&M-$9$k$3$H$b2DG=$K$J$j$^$9!#(B $B$3$N>l9g!"6&M-$5$l$?(B BeanContext $B$O(B BeanContextContainerProxy $B$rBeanContext $B$H$=$N%$%s%?%U%'!<%9$r getBeanContext() $B$+$iJV$5$l$kCM$O!"BeanContextProxy $B$H4XO"IU$1$i$l$?(B BeanContext $B$N4X78$O@EE*$G$"$k$?$a!"$I$A$i$+$,M-8z$G$"$k4V$OJQ2=$7$^$;$s!#(B

BeanContext ($B$^$?$O(B BeanContextChild) $B$H(B BeanContextProxy $B%$%s%?%U%'!<%9$NN>J}$r BeanContextProxy $B$NCollection $B$K4p$E$/(B BeanContext $B$r0];}$9$k$3$H$K2C$(!"$=$7$F62$i$/$=$l$H$OJL8D$K!"(Bjava.util.Collection $B$^$?$OB>$N$J$s$i$+$N%3%l%/%7%g%s$K;w$?(B API (java.awt.Container $B$J$I(B) $B$rl9g$,$"$j$^$9!#(B

$B$3$N>l9g!"(BCollection API $B7PM3$G(B BeanContext $B$+$iMWAG$rDI2C$^$?$O:o=|$9$k$+!"$"$k$$$O%3%l%/%7%g%s$K;w$?(B API (public boolean java.awt.Container.add(Component) $B$J$I(B) $B$r;H$C$F(B BeanContextProxy $B$NBeanContext $B$N%3%l%/%7%g%s$^$?$O(B BeanContextProxy $B$NContainer.add() $B$O(B BeanContext.add() $B$b?dB,$9$k$+$I$&$+!"$*$h$S$=$N5U(B) $B$O!"u67$G$O!"N>BeanContextProxy $B$NBeanContext $B<+BN(B) $B$,(B 1) $B$[$+$HF1$8DI2C(B/$B:o=|%;%^%s%F%#%/%9$rx.add(o) $B$,(B x.getBeanContext().add(o) $B$NI{:nMQ$rl9g!"(Bx.getBeanContext().add(o) $B$b(B x.add(o) $B$NI{:nMQ$rx.getBeanContext().contains(o) $B$,(B true $B$N>l9g$K(B x.add(o) $B$O(B x.getBeanContext().add(o) $B$r8F$S=P$5$J$$!"$*$h$S$=$N5U(B)$B!#(B

BeanContextProxy $B$rBeanContext $B$KBP$7$FDI2C$^$?$O:o=|$5$l$?>l9g!"$=$N%*%V%8%'%/%H$KA`:n$rBeanContextProxy.getBeanContext() $B$+$iJV$5$l$?(B BeanContext $B$KBP$7$F$bBeanContextProxy $B$NBe

public interface BeanContextContainerProxy {
	Container getContainer()
}
$B4XO"IU$1$i$l$?%3%s%]!<%M%s%H$r;}$D(B BeanContextChild $B$,!"4XO"IU$1$i$l$?%3%s%F%J$r;}$D(B BeanContext $B$KDI2C$5$l$k>l9g!"7k2L$H$7$F!"%3%s%F%JFb$N%3%s%]!<%M%s%H$NF~$l;R$K4XO"$7$FAj8_:nMQ$N%b%G%k$,(B 3 $B$DB8:_$7$^$9!#(B

  1. $B4XO"IU$1$i$l$?%3%s%]!<%M%s%H$,!"4XO"IU$1$i$l$?%3%s%F%J$K!"%3%s%F%J(B API $B7PM3$GDI2C$5$l$k>l9g!"(BBeanContext $BFb$N(B BeanContextChild $B$NF~$l;R>uBV$O!"$=$NI{:nMQ$H$7$F@8$8$k$b$N$G$"$j!"$=$l0J>e$NA`:n$OI,MW$"$j$^$;$s!#(B
  2. $B%3%s%]!<%M%s%H$*$h$S%3%s%F%J$,F~$l;R$K$J$C$F$$$J$$>l9g!"F~$l;R>uBV$N(B BeanContext $B$O!"I{:nMQ$H$7$F!"(BBeanContextChild $B$K4XO"IU$1$i$l$?%3%s%]!<%M%s%H$r!"$=$N4XO"IU$1$i$l$?%3%s%F%J$KDI2C$7$^$9!#(B

    $B$^$?$O(B

  3. $B%3%s%]!<%M%s%H$*$h$S%3%s%F%J$,F~$l;R$K$J$C$F$$$J$$>l9g!"F~$l;R>uBV$N(B BeanContextChild $B$O!"I{:nMQ$H$7$F!"$=$N%3%s%]!<%M%s%H$r!"F~$l;R$K$J$C$?(B BeanContext $B$K4XO"IU$1$i$l$?%3%s%F%J$K4XO"IU$1$^$9!#(B
$B$3$N$h$&$K$7$F!":GBg$NAj8_1?MQ@-$rF@$k$?$a$K!"(BBeanContextChild $B$O>o$K!"$=$N%3%s%]!<%M%s%H$N?F$,(B BeanContext $B%3%s%F%J$G$"$k$+$I$&$+$r%A%'%C%/$7!"?F$G$J$$>l9g$K$O!"E,@Z$G$"$l$P<+$i$rDI2C$7$^$9!#(B $B$3$N$?$a!"(BBeanContextChild $B$O$I$s$J%7%J%j%*$N$b$H$G$b@5$7$/5!G=$7$^$9!#(B

BeanContextChild $B$O!":G=i$K(B show() $B$N8F$S=P$7$r2p$7$F<+$i$rI=<(2DG=$K$9$kLr3d$rC4Ev$7$^$9!#(B BeanContextChild $B$O!"<+$i$KBP$7$F(B hide() $B$*$h$S(B show() $B$r7+$jJV$7 $BF~$l;R$K$J$C$?(B BeanContext$B!"$^$?$O$=$N4XO"$9$k%3%s%F%J$O!"(BBeanContextChild $B$N%3%s%]!<%M%s%H$KBP$7$F(B hide() $B$^$?$O(B show() $B$rG$0U$Kl9g!"$^$?$OB>$N%3%s%]!<%M%s%H(B/$B%3%s%F%J8GM-$N%W%m%H%3%k$,%3%s%F%J$KBP$7$=$N%3%s%]!<%M%s%H$NFbMF$N>uBV$rJQ99$9$k$3$H$r5v2D$^$?$OMW5a$9$k>l9g$r=|$-!"%3%s%]!<%M%s%H$r$9$Y$F$NLL$GITJQ$H$7$F07$&$3$H$r6/$/$*4+$a$7$^$9!#(B $B$3$Nbackground $B$^$?$O(B foreground $B%+%i!<$J$I$N%W%m%Q%F%#$,%3%s%F%J$+$i%3%s%]!<%M%s%H$KEAC#$5$l$k>l9g$r5s$2$k$3$H$,$G$-$^$9!#(B

$B$$$C$?$s(B BeanContextChild $B$,(B BeanContext $B$+$i$NF~$l;R>uBV$r2r=|$5$l$k$H!"4XO"$9$k%3%s%]!<%M%s%H(B ($BB8:_$9$k>l9g(B) $B$O!":o=|A`:n$NI{:nMQ$H$7$F$=$N(B BeanContext $B$N%3%s%F%J$+$i:o=|$5$l$^$9!#(B $B$3$l$O!"(BBeanContext $B$NLr3d$G$9!#(B $B0lHL$K!"(BsetBeanContext() $B%a%=%C%I$N8F$S=P$7$r2p$7$F(B BeanContextChild $B$r4XO"IU$1$i$l$?%3%s%F%J$H$H$b$KJL$N(B BeanContext $B$X0\F0$9$k$H!"$=$N%3%s%]!<%M%s%H$K$O!"$=$NA`:n$NI{:nMQ$H$7$F!"85$N(B BeanContext $B$,;R$+$i$N(B PropertyChangeEvent $B$r2p$7$FJQ99DLCN$rl9g$K$O%3%s%]!<%M%s%H$r:o=|$9$kI,MW$,$"$j$^$9!#(B

$BL58B2s5"$rHr$1$k$?$a!"%3%s%F%J$*$h$S%3%s%]!<%M%s%H$NF~$l;R4X78$H$b4XO"IU$1$i$l$?(B BeanContext $B$*$h$S(B BeanContextChild $B$NN>J}$G!"4X78$NAjC$5$J$$$h$&$K$9$kI,MW$,$"$j$^$9!#(B $B0lHL$K!"(BBeanContext $B$O!"(BBeanContextChild $B$N%3%s%]!<%M%s%H$N304Q!"2D;k@_Dj!"AjBP0LCV$rC4Ev$7$^$9!#(B BeanContextChild $B$O!"uBV$*$h$SFbMF$rC4Ev$7$^$9!#(B

getContainer() $B%a%=%C%I$+$iJV$5$l$kCM$O!"BeanContext $B$NM-8z4|4VCf$O0lDj$G$9!#(B $B$D$^$j!"(BBeanContext $B$H%3%s%F%J4V$N4X78$ON> $B$^$?!"

public interface BeanContextChildComponentProxy {
    Component getComponent();
}
BeanContext $B$^$?$O(B BeanContextChild $B$O!"$3$N%$%s%?%U%'!<%9$rBeanContext $B$K8x3+$7$^$9!#(B BeanContext $B$O!"$3$N%a%=%C%I$r;H$C$F!"%3%s%]!<%M%s%H$N%$%s%9%?%s%9$X$N;2>H$H!"$=$l$,G'<1$9$k(B BeanContextChild $B$X$N;2>H4V$N4X78$r3NN)$G$-$^$9!#(B $B$=$N>l9g!"(BBeanContextChild $B$*$h$S%3%s%]!<%M%s%H$O!"F1$8%*%V%8%'%/%H%$%s%9%?%s%9$K$h$C$FBeanContextChild $B$O$=$N%3%s%]!<%M%s%H5$9$k$N$G$O$J$/!"8DJL$N%*%V%8%'%/%H$K0Q>y$7$^$9!#(B BeanContext $B$O!"F~$l;R$K$J$C$?(B BeanContextChild $B$+$iH$rD4::$7$F!"$=$N>uBV$rH=JL$7$^$9!#(B $B$=$N8e!"%j%9%J!<$rFCDj$N%$%Y%s%HMQ$KEPO?$7$^$9!#(B $B$?$@$7!"%3%s%]!<%M%s%H$N>uBV$rJQ99$7$J$$$?$a!"(BBeanContext $B$,;2>H$r0lHL$KITJQ$J$b$N$H$7$F=hM}$9$k$3$H$r6/$/$*4+$a$7$^$9!#(B

getComponent() $B%a%=%C%I$+$iJV$5$l$kCM$O!"(BBeanContextChild $B$,M-8z$G$"$k4V!"0lDj$G$9!#(B

BeanContext $B$,4XO"$9$k%3%s%F%J$rJ];}$9$k$,!"(BBeanContextContainerProxy $B%$%s%?%U%'!<%9$rl9g!"$+$DG$0U$N(B BeanContextChild $B$N4XO"$9$k%3%s%]!<%M%s%H(B (BeanContextChildComponentProxy $B%$%s%?%U%'!<%9$r@\$N%5%V%/%i%9$H$7$F!"(BBeanContextChild $B$K$h$j8x3+$5$l$?(B) $B$NF~$l;R>uBV$r=hM}$7$?$$>l9g!"(BBeanContext $B$K$O$=$N%3%s%]!<%M%s%H$r4XO"$9$k%3%s%F%J$KBP$7$FDI2C$^$?$O:o=|$r9T$&8"8B$,M?$($i$l$^$9!#(B

$B%/%i%9$,(B BeanContextChildComponentProxy $B$H(B BeanContextContainerProxy $B$NN>J}$rl9g!"(BgetComponent() $B$H(B getContainer() $B$NAPJ}$,JV$9%*%V%8%'%/%H$O!"F10l$N%*%V%8%'%/%H$K$J$j$^$9!#(B


  1. $B%5!<%I%Q!<%F%#$K$h$k(B setBeanContext() $B$N8F$S=P$7$N7k2L$H$7$F!"(BBeanContext $B$,M=4|$7$J$$(B PropertyChangeEvent $BDLCN$rremove() $B$,8F$S=P$5$l$?>l9g!":o=|remove() $B%;%^%s%F%#%/%9$N0lIt$H$7$F!";R$KBP$7$F(B setBeanContext(null) $B$r8F$S=P$9$3$H$O$"$j$^$;$s!#(B $B$=$l$O!"8F$S=P$9$3$H$K$h$j!"%5!<%I%Q!<%F%#$K$h$j@_Dj$5$l$?CM$r>e=q$-$7$F$7$^$&$?$a$G$9!#(B

  2. $B%3%s%]!<%M%s%H$H%3%l%/%7%g%s4V$G%a%=%C%IL>$,>WFM$9$k$?$a!"%3%s%]!<%M%s%H$O(B BeanContext $B$^$?$O%3%l%/%7%g%s$rD>@\

$BL\ | $BA0$N9`L\(B | $B
Copyright © 1998-1999 Sun Microsystems, Inc. All Rights Reserved.