From owner-java@jp.FreeBSD.org Mon Sep  9 16:54:39 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g897sd449383;
	Mon, 9 Sep 2002 16:54:39 +0900 (JST)
	(envelope-from owner-java@jp.FreeBSD.org)
Received: from ongs.co.jp (ns.ongs.co.jp [202.216.232.58])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with SMTP/inet id g897sd349378
	for <java@jp.FreeBSD.org>; Mon, 9 Sep 2002 16:54:39 +0900 (JST)
	(envelope-from daichi@jp.freebsd.org)
Received: (qmail 38812 invoked from network); 9 Sep 2002 07:53:23 -0000
Received: from unknown (HELO parancell.ongs.co.jp) (202.216.232.62)
  by ns.ongs.co.jp with SMTP; 9 Sep 2002 07:53:23 -0000
From: daichi <daichi@jp.FreeBSD.org>
To: java@jp.FreeBSD.org
Message-Id: <20020909165608.3844b00e.daichi@jp.freebsd.org>
In-Reply-To: <20020905.200422.596521274.shudoh@localhost>
References: <20020830193608.276e0304.daichi@jp.freebsd.org>
	<20020830221132.44bbf4d4.daichi@jp.freebsd.org>
	<20020830225015.3e45a0f3.daichi@jp.freebsd.org>
	<20020905.200422.596521274.shudoh@localhost>
Organization: ONGS Inc.
X-Mailer: Sylpheed version 0.8.2 (GTK+ 1.2.10; i386-portbld-freebsd4.6)
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
Reply-To: java@jp.FreeBSD.org
Precedence: list
Date: Mon, 9 Sep 2002 16:56:08 +0900
X-Sequence: java 215
Subject: [java 215] Re: Java =?ISO-2022-JP?B?GyRCJEskKiQxJGtGfBsoQg==?=
 =?ISO-2022-JP?B?GyRCS1w4bEZ+Tk8kTkApOGYkSyREJCQkRhsoQg==?= 
Errors-To: owner-java@jp.FreeBSD.org
Sender: owner-java@jp.FreeBSD.org
X-Originator: daichi@jp.FreeBSD.org
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+020902

$BBgCO$G$9!#(B

> $B<sF#$G$9!#(B
(snip)
> > $B%j%U%l%/%7%g%s$r;H$C$F(BWindow$BC10L$N(BInputContext$B$rCV$-49$($^$7$?!#(B
> > # $B$3$NJ}K!$C$F@5$7$$$N$+$J!D(B  $B%j%U%l%/%7%g%s$N5!G=$r;H$C$F(B
> > # $B%3!<%I$KM?$($i$l$F$$$k8"8B0J>e$N$3$H$r$7$^$7$?!#(B
>     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> JDK $B$N%P%0$G$O$J$$$G$7$g$&$+!#(B
> ($B>l9g$K$h$C$F$O!"%;%-%e%j%F%#%[!<%k$K$J$k$+$b$7$l$^$;$s!#(B)

Class$B$GBP>]$N%/%i%9$r%m!<%I$7$F!"(BField$B%*%V%8%'%/%H$r:n@.$7$^$9!#(B
$B:n@.$7$?(BField$B%*%V%8%'%/%H$N!"8"8B$rL58z2=$9$k%a%=%C%I$r8F$S!"(B
$B$=$l$rMQ$$$F(Bprivate$B$J%*%V%8%'%/%H$rVH$a9~$_$^$9!#$3$l$G!"FCDj(B
$B$N%/%i%9$NFCDj$N(Bprivate$B$J%U%#!<%k%I$r!"%f!<%6B&$GMQ0U$7$?%*%V(B
$B%8%'%/%H$K@_Dj$G$-$k!"$H$$$&$3$H$K$J$j$^$9!#(B

JDK$B$N%P%0$G$O$J$$$H;W$$$^$9!#$3$&$$$&$b$N$+$H;W$C$F$^$7$?!#(B
# $B:G=i(Bprivate$B$J%U%#!<%k%I$rCV$-49$($,$G$-$k$H$o$+$C$?;~$O(B
# $B6C$-$^$7$?$1$I$b!#(B

$B%3!<%I$H$7$F$O$3$s$J46$8$G$9!#4{B8$N(BSomethingClass$B$H$$$&%*%V%8%'(B
$B%/%H$N(BtargetFieldName$B$H$$$&(Bprivate$B$J%U%#!<%k%I$NCM$r=q$-49$($k$H(B
$B$7$^$9!#(B

    SomethingClass aTargetObject = Hogehoge.getSomethingClass();

    Class c = Class.forName("SomethingClass");

    Field f = c.getDeclaredField("targetPrivateFieldName");

    f.setAccessible(true);

    f.set(aTargetObject, aReplaceObjectInsteadOfTargetPrivateField);

$B$3$l$G!"$I$3$+$K$"$k(BSomethingClass$B$N%*%V%8%'%/%H$,;}$C$F$$$k(B
private$B$J%U%#!<%k%I$G$"$k(BtargetPrivateField$B$r!"%f!<%6$,MQ0U$7$?(B
aReplaceObjectInsteadOfTargetPrivateField$B$K5/$-$+$($k$3$H$,$G$-$^$9!#(B

$B$3$l$G!"%7%9%F%`$K<j$r2C$($J$/$H$bG$0U$N%*%V%8%'%/%H$r:n@.$7$F(B
$B$=$A$i$KCV$-49$($k$3$H$,$G$-$k$h$&$K$J$j$^$9!#(B

$B$?$@!"$3$l$OMQ$$$k$Y$-$G$O$J$$$H9M$($F$$$^$9!#$J$N$G$3$l$rMQ$$$?(B
$B<BAu$O$d$a$^$7$?$G$9!#(B

--
Daichi GOTO
   http://www.ongs.net/daichi, daichi@jp.freebsd.org
