[uruma-dev:178] Re: S2規約とColddeploy対応

KOMORI Yusuke [E-MAIL ADDRESS DELETED]
2008年 4月 5日 (土) 20:07:22 JST


$B?y>e$5$s(B

$B!!>.?9$G$9!#(B

$B!!(BS2Container $B%3%_%C%?$NJ}$G3NG'$7$?$i!">.NS$5$s$+$iFM$C9~$_(B
$B<u$1$^$7$?!#(B(^^:

> > org.seasar.framework.convention.impl.NamingConventionImpl
> > 
> > $B%/%i%9$NCf$K$"$k(B ExistCheker $B%$%s%?!<%U%'!<%9$H$=$N%5%V%/%i(B
> > $B%9$r30$@$7$K$7$?$$$H9M$($F$$$^$9!#(B
> > 
> > # NamingConventionImpl $B$r%5%V%/%i%92=$7$F!"$=$NCf$+$i(B ExistCheker 
> > $B$rMxMQ$7$?$$$?$a$G$9!#(B
> > 
> > $B!!62$i$/1F6A$O$J$$$H;W$C$F$$$k$N$G$9$,!"$J$K$+ITET9g$O$"$j$^(B
> > $B$9$G$7$g$&$+!)(B
> 
> $BITET9g$O$J$$$H;W$$$^$9$,!$%5%V%/%i%9$+$iMxMQ$9$k(B
> $B$@$1$J$i%M%9%F%C%I%/%i%9$N$^$^$G$b;H$($k$N$G$O!)(B

$B!!(BCooldeploy $B$N%V%i%s%A$r8+$F$b%5%V%/%i%9$+$i%"%/%;%9$G$-$F(B
$B$$$k$_$?$$$G$9$,!"$3$N$^$^$G$bLdBj$J$$$N$G$O$J$$$G$7$g$&$+!)!)(B

$B!!$9$_$^$;$s$,!"3NG'$*4j$$$7$^$9!#(B

On Sat, 5 Apr 2008 09:42:41 +0900, "$B?y>eMNJ?(B" <[E-MAIL ADDRESS DELETED]> wrote:

> $B>.?9$5$s(B
> 
> $B?y>e$G$9!#(B
> 
> > $B!!$O$$!"-!$G$h$$$H;W$$$^$9!#(B
> >  $[E-MAIL ADDRESS DELETED]<0$K$O-"$[E-MAIL ADDRESS DELETED]$+$b$7$l$^$;$s$,!":#2s$N2~=$$O$[$H$s$I(B
> >  Uruma$B$G$7$+;H$o$J$$$H;W$$$^$9$N$G!"$3$l$G$h$$$+$H!#(B
> 
> $BN;2r$G$9!#(B
> 
> >  $B$"$H!"(BNamingConventionImpl $B$NJ}$O=$@5$7<!Bh!"$^$?O"Mm$7$^$9!#(B
> 
> $B$9$$$^$;$s$,!"$h$m$7$/$*4j$$$$$?$7$^$9!##m!J!2(B $B!2!K#m(B
> 
> 08/04/05 $B$K(B KOMORI Yusuke<[E-MAIL ADDRESS DELETED]> $B$5$s$O=q$-$^$7$?(B:
> > $B?y>e$5$s(B
> >
> >  $B>.?9$G$9!#(B
> >
> >  $BCY$/$J$C$F$9$_$^$;$s!#(B
> >
> >
> >  > seasar$B$N(Benv.txt$B$N07$$$O!"(Benv.txt$B$,B8:_$7$J$$>l9g(B
> >  > $B%G%U%)%k%H!J(BPRODCT$B!K$,E,MQ$5$l=hM}$r7QB3$7$^$9!#(B
> >  > Uruma$B$G$b>e5-;EMM$rF'=1$9$k$H!"0J2<$N$H$*$j!#(B
> >  > $B!J!!(Burl$BJQ?t(B $B$,(Bnull$B$G$J$1$l$P(Benv.txt$B$OB8:_$9$k$3$H$K$J$j$^$9!!!K(B
> >  >         URL url = RcpResourceUtil
> >  >                 .getLocalResourceUrlNoException(Env.DEFAULT_FILE_PATH);
> >  >         if (url != null) {
> >  >             try {
> >  >                 Env.setFile(URLUtil.toFile(url));
> >  >             } catch (FileNotFoundException ignore) {
> >  >             }
> >  >         }
> >  >
> >  > $BBP1~0F(B
> >  > $B-!>e5-$N$H$*$j(BFileNotFoundException$B$r(Bignore$B$9$k!#(B
> >  > $B-"(BFileNotFoundException$B$N(BRuntimeException$B$N%5%V%/%i%9$r:n$j(BEnv$B$+$i(Bthrow$B$9$k!#(B
> >  >
> >  > $B-!$G$h$$$+$H!#!0!0(B
> >
> >
> > $B!!$O$$!"-!$G$h$$$H;W$$$^$9!#(B
> >  $[E-MAIL ADDRESS DELETED]<0$K$O-"$[E-MAIL ADDRESS DELETED]$+$b$7$l$^$;$s$,!":#2s$N2~=$$O$[$H$s$I(B
> >  Uruma$B$G$7$+;H$o$J$$$H;W$$$^$9$N$G!"$3$l$G$h$$$+$H!#(B
> >
> >  $B$"$H!"(BNamingConventionImpl $B$NJ}$O=$@5$7<!Bh!"$^$?O"Mm$7$^(B
> >  $B$9!#(B
> >
> >  $B$G$O!#(B
> >
> >
> >  On Thu, 3 Apr 2008 11:32:13 +0900, "$B?y>eMNJ?(B" <[E-MAIL ADDRESS DELETED]> wrote:
> >
> >  >  $B>.?9$5$s(B
> >  >
> >  > $B?y>e$G$9!#(B
> >  >
> >  > >$B"#(BNamingConventionImpl
> >  > > protected $B$r(B public $B$KJQ99$9$k$N$O4JC1$J$N$G$9$,!"$3$N%/%i(B
> >  > > $B%9$O(B NamingConvention $B%$%s%?!<%U%'!<%9$N<BAu%/%i%9$G$9!#(B
> >  >  >$B$R$g$C$H$7$?$i!"$3$l$i$NFbIt%/%i%9$r30=P$7$K$7$?J}$,$h$$$+$b$7$l$^$;$s!#(B
> >  >
> >  > $B3N$+$K!"<BAu%/%i%9$N$?$a30=P$7$N8DJL%/%i%9$K$7$?$[$&$,(B
> >  > $B$h$5$=$&$G$9$M!#(B
> >  >
> >  >  >$B"#(BEnv
> >  >  > ResourceNotFoundRuntimeException$B$O%/%i%9%Q%9>e$N%j%=!<%9$,(B
> >  > >   $BB8:_$7$J$$$H$-$K%9%m!<$9$Y$-Nc30$G$9!#(B
> >  > >   $B:#2s$O(BFile$B%/%i%9$r%;%C%H$9$k$N$G!"$G$-$l$P(BFileNotFoundException$B$r(B
> >  > > $B%9%m!<$9$Y$-$H9M$($F$$$^$9!#(B
> >  >
> >  > $BN;2r$G$9!#(B
> >  >
> >  > >   Uruma$BB&$GNc30$r%-%c%C%A$7$[E-MAIL ADDRESS DELETED]$K=hM}$9$Y$-$H;W$&$N$G$9$,!"(B
> >  > >   $BFq$7$$$G$7$g$&$+!#(B
> >  > $BFq$7$/$J$$$G$9!#(B
> >  > $B$?$@!"(BException$B$r0.$j$D$V$9$N$G(Bcatch$B$7$?$/$J$$$J$!$H;W$$$^$7$F!#(B
> >  >
> >  > seasar$B$N(Benv.txt$B$N07$$$O!"(Benv.txt$B$,B8:_$7$J$$>l9g(B
> >  > $B%G%U%)%k%H!J(BPRODCT$B!K$,E,MQ$5$l=hM}$r7QB3$7$^$9!#(B
> >  > Uruma$B$G$b>e5-;EMM$rF'=1$9$k$H!"0J2<$N$H$*$j!#(B
> >  > $B!J!!(Burl$BJQ?t(B $B$,(Bnull$B$G$J$1$l$P(Benv.txt$B$OB8:_$9$k$3$H$K$J$j$^$9!!!K(B
> >  >         URL url = RcpResourceUtil
> >  >                 .getLocalResourceUrlNoException(Env.DEFAULT_FILE_PATH);
> >  >         if (url != null) {
> >  >             try {
> >  >                 Env.setFile(URLUtil.toFile(url));
> >  >             } catch (FileNotFoundException ignore) {
> >  >             }
> >  >         }
> >  >
> >  > $BBP1~0F(B
> >  > $B-!>e5-$N$H$*$j(BFileNotFoundException$B$r(Bignore$B$9$k!#(B
> >  > $B-"(BFileNotFoundException$B$N(BRuntimeException$B$N%5%V%/%i%9$r:n$j(BEnv$B$+$i(Bthrow$B$9$k!#(B
> >  >
> >  > $B-!$G$h$$$+$H!#!0!0(B
> >  >
> >  > $B0J>e$G$9!#(B
> >  >
> >  > 08/04/02 $B$K(B KOMORI Yusuke <[E-MAIL ADDRESS DELETED]> $B$5$s$O=q$-$^$7$?(B:
> >  > > $B?y>e$5$s(B
> >  > >
> >  > >  $B>.?9$G$9!#(B
> >  > >
> >  > >  > S2Container $BB&$N=$@5$"$j$,$H$&$4$6$$$^$9!#(B
> >  > >  > brunch$B$G0J2<$N=$@5$r9T$$$^$7$?!#(B
> >  > >
> >  > >  $B$*Hh$l$5$^$G$9!*(B
> >  > >
> >  > >
> >  > >  > $B!cJ}?K!d(B
> >  > >  > S2Container $BB&$N=$@5$,40N;$7!"!"(Bbrunch$B$N=$@5FbMF$K(B
> >  > >  > $BLdBj$,$J$$$h$&$G$7$?$i!"(Bcooldeploy$B$r(Btrunk$B$K%^!<%8$H(B
> >  > >  > S2Container $B$N(B VerUP$B$r$7$h$&$H;W$$$^$9!#(B
> >  > >  > $B!J"((B Hotdeploy$B$OIT0BDj$J$N$G!"(Btrunk$B$K$O$^$@%^!<%8$7$^$;$s!K(B
> >  > >
> >  > >
> >  > > $B$O$$!"$=$NJ}8~$G$*4j$$$7$^$9!#(B
> >  > >
> >  > >
> >  > >  > $B!c$*4j$$!d(B
> >  > >  > S2Container $BB&$G#[E-MAIL ADDRESS DELETED]$N=$@5$r$*4j$$$?$7$^$9!#(B
> >  > >  > $B=$@5FbMF$N(BUrumaNamingConventionImpl$B$H(BEnv$B$r;2>H$/$@$5$$!#(B
> >  > >  > $B$^$?!"%V%i%s%A$N(Borg.seasar.framework$B%Q%C%1!<%80J2<$K=$@5HG$rCV$$$F$$$^$9!#(B
> >  > >
> >  > >
> >  > > $B"#(BNamingConventionImpl
> >  > >  protected $B$r(B public $B$KJQ99$9$k$N$O4JC1$J$N$G$9$,!"$3$N%/%i(B
> >  > >  $B%9$O(B NamingConvention $B%$%s%?!<%U%'!<%9$N<BAu%/%i%9$G$9!#(B
> >  > >  $B$R$g$C$H$7$?$i!"$3$l$i$NFbIt%/%i%9$r30=P$7$K$7$?J}$,$h$$$+(B
> >  > >  $B$b$7$l$^$;$s!#(B
> >  > >  $B$A$g$C$H8!F$$5$;$F$/$@$5$$!#(B
> >  > >
> >  > >  $B"#(BEnv
> >  > >   ResourceNotFoundRuntimeException$B$O%/%i%9%Q%9>e$N%j%=!<%9$,(B
> >  > >   $BB8:_$7$J$$$H$-$K%9%m!<$9$Y$-Nc30$G$9!#(B
> >  > >   $B:#2s$O(BFile$B%/%i%9$r%;%C%H$9$k$N$G!"$G$-$l$P(B
> >  > >   FileNotFoundException$B$r%9%m!<$9$Y$-$H9M$($F$$$^$9!#(B
> >  > >
> >  > >   Uruma$BB&$GNc30$r%-%c%C%A$7$[E-MAIL ADDRESS DELETED]$K=hM}$9$Y$-$H;W$&$N$G$9$,!"(B
> >  > >   $BFq$7$$$G$7$g$&$+!#(B
> >  > >
> >  > >
> >  > >
> >  > >  On Wed, 2 Apr 2008 17:33:04 +0900, "$B?y>eMNJ?(B" <[E-MAIL ADDRESS DELETED]> wrote:
> >  > >
> >  > >  > $B>.?9$5$s(B
> >  > >  >
> >  > >  > $B?y>e$G$9!#(B $BCY%l%9$9$$$^$;$s!#(B
> >  > >  >
> >  > >  > S2Container $BB&$N=$@5$"$j$,$H$&$4$6$$$^$9!#(B
> >  > >  > brunch$B$G0J2<$N=$@5$r9T$$$^$7$?!#(B
> >  > >  >
> >  > >  > $B!c$*4j$$!d(B
> >  > >  > S2Container $BB&$G#[E-MAIL ADDRESS DELETED]$N=$@5$r$*4j$$$?$7$^$9!#(B
> >  > >  > $B=$@5FbMF$N(BUrumaNamingConventionImpl$B$H(BEnv$B$r;2>H$/$@$5$$!#(B
> >  > >  > $B$^$?!"%V%i%s%A$N(Borg.seasar.framework$B%Q%C%1!<%80J2<$K=$@5HG$rCV$$$F$$$^$9!#(B
> >  > >  >
> >  > >  > $B!cJ}?K!d(B
> >  > >  > S2Container $BB&$N=$@5$,40N;$7!"!"(Bbrunch$B$N=$@5FbMF$K(B
> >  > >  > $BLdBj$,$J$$$h$&$G$7$?$i!"(Bcooldeploy$B$r(Btrunk$B$K%^!<%8$H(B
> >  > >  > S2Container $B$N(B VerUP$B$r$7$h$&$H;W$$$^$9!#(B
> >  > >  > $B!J"((B Hotdeploy$B$OIT0BDj$J$N$G!"(Btrunk$B$K$O$^$@%^!<%8$7$^$;$s!K(B
> >  > >  >
> >  > >  > $B!c=$@5FbMF!d(B
> >  > >  > MANIFEST.MF
> >  > >  > $B-!(BExported packages$B$r=$@5!J(Borg.seasar.uruma.container$B0J2<$r8x3+!K(B
> >  > >  > $B-"(Bseasar$B$N(BVer$B$r(B2.4.25-20080401$B$KJQ99(B
> >  > >  >
> >  > >  > $B!d(Burumacooldeploy-autoregister.dicon
> >  > >  > $B!d(B $B"*(B Uruma $B$X$H$j$3$_(B
> >  > >  > $B!d(BS2Container $B$O!"%3%s%F%/%9%H%/%i%9%m!<%@$+$i(Bdicon$B%U%!%$%k(B
> >  > >  > $B!d(B $B$rFI$_9~$`$7$h$&$K$J$C$F$$$k$N$G!"(BUrumaS2ContainerFactoryCoolProvider
> >  > >  > $B!d$NCf$G(B UrumaService#switchToUrumaClassLoader() $B$r8F$S=P$7$F(B
> >  > >  > $B!d$+$i%$%s%/%k!<%I$9$l$P!"FI$_9~$a$k$h$&$J5$$,$7$^$9!#(B
> >  > >  > $B-!(Burumacooldeploy-autoregister.dicon$B$O(BUrumaApp$BB&$G;}$D$h$&$K$7$^$7$?!#(B
> >  > >  > UrumaServie$B$N:[E-MAIL ADDRESS DELETED];A0$N=hM}%?%$%_%s%0$N$?$a!"(BUrumaServiceUtil$B$+$i(B
> >  > >  > UrumaServie$B$r;2>H$G$-$^$;$s$G$7$?!#(B
> >  > >  > $B-"(Burumacooldeploy.dicon$B$N(Bcomponent class$B%Q%9$r=$@5(B
> >  > >  >
> >  > >  >
> >  > >  > >UrumaCoolComponentAutoRegister
> >  > >  > > $B"*(B Uruma $B$X%Q%C%1!<%80\F0(B & CoolComponentAutoRegister $B$N%5%V(B
> >  > >  > >   $B%/%i%9$K$7$FI,MW%a%=%C%I$N$_%*!<%P!<%i%$%I(B
> >  > >  > $B-!0J2<$N%Q%C%1!<%80\F0(B
> >  > >  > org.seasar.uruma.container.cooldeploy
> >  > >  > $B-"I,MW%a%=%C%I$N$_%*!<%P!<%i%$%I(B
> >  > >  > registerAll$B%a%=%C%I$N$_%*!<%P!<%i%$%I(B
> >  > >  >
> >  > >  >
> >  > >  > $B!d(BUrumaS2ContainerFactoryCoolConfigurator
> >  > >  > $B!d(B $B"*(B Uruma $B$X%Q%C%1!<%80\F0(B
> >  > >  > $B-!0J2<$N%Q%C%1!<%80\F0(B
> >  > >  > org.seasar.uruma.container.cooldeploy
> >  > >  >
> >  > >  >
> >  > >  > $B!d(BUrumaS2ContainerFactoryCoolProvider
> >  > >  > $B!d(B $B"*(B Uruma $B$X%Q%C%1!<%80\F0(B
> >  > >  > $B-!0J2<$N%Q%C%1!<%80\F0(B
> >  > >  > org.seasar.uruma.container.cooldeploy
> >  > >  >
> >  > >  >
> >  > >  > $B!d(B*Creator
> >  > >  > $B!d(B $B"*(B Uruma*Creator $B$K%j%M!<%`$7$F(B Uruam $B%Q%C%1!<%8$X0\F0(B
> >  > >  > $B!d(B    + $B%G%U%)%k%H$N(B creator.dicon $B$rDs6!(B
> >  > >  > $B-!0J2<$N%Q%C%1!<%80\F0(B
> >  > >  > org.seasar.uruma.container.creator
> >  > >  > $B-"(BUruma*Creator $B$K%j%M!<%`(B
> >  > >  > $B-#(BUrumaApp$BB&$K(Bconvention.dicon$B$rG[CV(B
> >  > >  > creator.dicon$B$N(Bcomponent class$B%Q%9$r=$@5(B
> >  > >  >
> >  > >  >
> >  > >  > $B!d(BUrumaNamingConventionImpl
> >  > >  > $B!d(B $B"*(B Uruma $B$X%Q%C%1!<%80\F0(B
> >  > >  > $B!d(B     + $B%G%U%)%k%H$N(B convention.dicon $B$rDs6!(B
> >  > >  > $B-!0J2<$N%Q%C%1!<%80\F0(B
> >  > >  > org.seasar.uruma.container.convention
> >  > >  > $B-"(BUrumaApp$BB&$K(Bconvention.dicon$B$rG[CV(B
> >  > >  > convention.dicon$B$N(Bcomponent class$B%Q%9$r=$@5(B
> >  > >  > $B-#%$%s%J!<%/%i%9!J(BExistChecker$B7O!K$,(Bprotected$B$N$?$a(B
> >  > >  > $BB>%Q%C%1!<%8;2>H$G$-$J$$$N$G!"(Bpublic$B$K$7$^$7$?!#(B
> >  > >  > S2Container$BB&$N(BNamingConventionImpl$B$rJQ99D:$1$J$$$G$7$g$&$+!#(B
> >  > >  >
> >  > >  > [$BA0(B] protected static interface *
> >  > >  > [$B8e(B] public static interface *
> >  > >  > [$BA0(B] protected $B%3%s%9%H%i%/%?(B
> >  > >  > [$B8e(B] public $B%3%s%9%H%i%/%?(B
> >  > >  >
> >  > >  > [$B=$@58e%=!<%9(B] org.seasar.framework.convention.impl.NamingConventionImpl 910$B9TL\0J9_(B
> >  > >  >    /**
> >  > >  >      * $BB8:_%A%'%C%+$N%$%s%?!<%U%'!<%9$G$9!#(B
> >  > >  >      *
> >  > >  >      */
> >  > >  >     public static interface ExistChecker {
> >  > >  >         /**
> >  > >  >          * $B%/%i%9$,B8:_$9$k$+$I$&$+$rJV$7$^$9!#(B
> >  > >  >          *
> >  > >  >          * @param lastClassName
> >  > >  >          * @return $B%/%i%9$,B8:_$9$k$+$I$&$+(B
> >  > >  >          */
> >  > >  >         boolean isExist(String lastClassName);
> >  > >  >
> >  > >  >         /**
> >  > >  >          * $B%j%=!<%9$r3+J|$7$^$9!#(B
> >  > >  >          */
> >  > >  >         void close();
> >  > >  >     }
> >  > >  >
> >  > >  >     /**
> >  > >  >      * $B%U%!%$%kMQ$NB8:_%A%'%C%+$G$9!#(B
> >  > >  >      *
> >  > >  >      */
> >  > >  >     public static class FileExistChecker implements ExistChecker {
> >  > >  >         private File rootFile;
> >  > >  >
> >  > >  >         /**
> >  > >  >          * $B%$%s%9%?%s%9$r:[E-MAIL ADDRESS DELETED]$7$^$9!#(B
> >  > >  >          *
> >  > >  >          * @param rootUrl
> >  > >  >          *            $B%k!<%H(BURL
> >  > >  >          */
> >  > >  >         public FileExistChecker(final URL rootUrl) {
> >  > >  >             rootFile = URLUtil.toFile(rootUrl);
> >  > >  >         }
> >  > >  >
> >  > >  >         public boolean isExist(final String lastClassName) {
> >  > >  >             final File file = new File(rootFile,
> >  > >  > getPathName(lastClassName));
> >  > >  >             return file.exists();
> >  > >  >         }
> >  > >  >
> >  > >  >         public void close() {
> >  > >  >         }
> >  > >  >     }
> >  > >  >
> >  > >  >     /**
> >  > >  >      * jar$BMQ$NB8:_%A%'%C%+$G$9!#(B
> >  > >  >      *
> >  > >  >      */
> >  > >  >     public static class JarExistChecker implements ExistChecker {
> >  > >  >         private JarFile jarFile;
> >  > >  >
> >  > >  >         private String rootPath;
> >  > >  >
> >  > >  >         /**
> >  > >  >          * $B%$%s%9%?%s%9$r:[E-MAIL ADDRESS DELETED]$7$^$9!#(B
> >  > >  >          *
> >  > >  >          * @param jarUrl
> >  > >  >          *            jar URL
> >  > >  >          * @param rootPackageName
> >  > >  >          *            $B%k!<%H%Q%C%1!<%8L>(B
> >  > >  >          */
> >  > >  >         public JarExistChecker(final URL jarUrl, final String
> >  > >  > rootPackageName) {
> >  > >  >             jarFile = JarFileUtil.toJarFile(jarUrl);
> >  > >  >             this.rootPath = rootPackageName.replace('.', '/') + "/";
> >  > >  >         }
> >  > >  >
> >  > >  >         public boolean isExist(final String lastClassName) {
> >  > >  >             return jarFile.getEntry(rootPath + getPathName(lastClassName))
> >  > >  > != null;
> >  > >  >         }
> >  > >  >
> >  > >  >         public void close() {
> >  > >  >             JarFileUtil.close(jarFile);
> >  > >  >         }
> >  > >  >     }
> >  > >  >
> >  > >  >     /**
> >  > >  >      * zip$BMQ$NB8:_%A%'%C%+$G$9!#(B
> >  > >  >      *
> >  > >  >      */
> >  > >  >     public static class ZipExistChecker implements ExistChecker {
> >  > >  >         private ZipFile zipFile;
> >  > >  >
> >  > >  >         private String rootPath;
> >  > >  >
> >  > >  >         /**
> >  > >  >          * $B%$%s%9%?%s%9$r:[E-MAIL ADDRESS DELETED]$7$^$9!#(B
> >  > >  >          *
> >  > >  >          * @param zipUrl
> >  > >  >          *            zip URL
> >  > >  >          * @param rootPackageName
> >  > >  >          *            $B%k!<%H%Q%C%1!<%8L>(B
> >  > >  >          */
> >  > >  >         public ZipExistChecker(final URL zipUrl, final String
> >  > >  > rootPackageName) {
> >  > >  >             zipFile = ZipFileUtil.toZipFile(zipUrl);
> >  > >  >             this.rootPath = rootPackageName.replace('.', '/') + "/";
> >  > >  >         }
> >  > >  >
> >  > >  >         public boolean isExist(final String lastClassName) {
> >  > >  >             return zipFile.getEntry(rootPath + getPathName(lastClassName))
> >  > >  > != null;
> >  > >  >         }
> >  > >  >
> >  > >  >         public void close() {
> >  > >  >             ZipFileUtil.close(zipFile);
> >  > >  >         }
> >  > >  >     }
> >  > >  >
> >  > >  >     /**
> >  > >  >      * OC4J$BMQ$NB8:_%A%'%C%+$G$9!#(B
> >  > >  >      *
> >  > >  >      */
> >  > >  >     public static class CodeSourceExistChecker implements ExistChecker {
> >  > >  >         private JarFile jarFile;
> >  > >  >
> >  > >  >         private String rootPath;
> >  > >  >
> >  > >  >         /**
> >  > >  >          * $B%$%s%9%?%s%9$r:[E-MAIL ADDRESS DELETED]$7$^$9!#(B
> >  > >  >          *
> >  > >  >          * @param url
> >  > >  >          *            URL
> >  > >  >          * @param rootPackageName
> >  > >  >          *            $B%k!<%H%Q%C%1!<%8L>(B
> >  > >  >          */
> >  > >  >         public CodeSourceExistChecker(final URL url,
> >  > >  >                 final String rootPackageName) {
> >  > >  >             final URL jarUrl = URLUtil.create("jar:file:" + url.getPath());
> >  > >  >             jarFile = JarFileUtil.toJarFile(jarUrl);
> >  > >  >             this.rootPath = rootPackageName.replace('.', '/') + "/";
> >  > >  >         }
> >  > >  >
> >  > >  >         public boolean isExist(final String lastClassName) {
> >  > >  >             return jarFile.getEntry(rootPath + getPathName(lastClassName))
> >  > >  > != null;
> >  > >  >         }
> >  > >  >
> >  > >  >         public void close() {
> >  > >  >             JarFileUtil.close(jarFile);
> >  > >  >         }
> >  > >  >     }
> >  > >  > [$B=$@58e%=!<%9(B]$B$3$3$^$G(B
> >  > >  >
> >  > >  >
> >  > >  > $B!d(BEnv
> >  > >  > $B!d(B $B"*(B $B%U%!%$%k$N<hF@$,(BRCP$B4D6-$G$O$&$^$/$$$+$J$$$N$,LdBj$G$9$M!#(B
> >  > >  > $B!d(B   S2Container$BB&$G$N=$@5J}K!$r9M$($^$9!#(B
> >  > >  > S2Container$BB&$N(B
> >  > >  > Env#setFile $B$N(BEcepction$B$r(BRuntimeEception$B$KJQ99D:$1$J$$$G$7$g$&$+!#(B
> >  > >  > [$BA0(B] FileNotFoundException
> >  > >  > [$B8e(B] ResourceNotFoundRuntimeException
> >  > >  >
> >  > >  > [$B=$@58e%=!<%9(B] org.seasar.framework.env.Env
> >  > >  >     /**
> >  > >  >      * $B4D6-L>@_Dj%U%!%$%k$[E-MAIL ADDRESS DELETED]$7$^$9!#(B
> >  > >  >      *
> >  > >  >      * @param fileObj
> >  > >  >      *            $[E-MAIL ADDRESS DELETED]%U%!%$%k$rI=$9(B {@link File} $B%*%V%8%'%/%H(B
> >  > >  >      * @throws EmptyRuntimeException
> >  > >  >      *             <code>fileObj</code>$B$,(B<code>null</code>$B$N>l9g$K%9%m!<$5$l$^$9(B
> >  > >  >      * @throws ResourceNotFoundRuntimeException
> >  > >  >      *             <code>fileObj</code>$B$N<($9%U%!%$%k$,B8:_$7$J$$>l9g$K%9%m!<$5$l$^$9(B
> >  > >  >      */
> >  > >  >     public static void setFile(final File fileObj) {
> >  > >  >         if (fileObj == null) {
> >  > >  >             throw new EmptyRuntimeException("fileObj");
> >  > >  >         }
> >  > >  >         if (!fileObj.exists()) {
> >  > >  >             throw new ResourceNotFoundRuntimeException(fileObj
> >  > >  >                     .getAbsolutePath());
> >  > >  >         }
> >  > >  >         Env.filePath = fileObj.getAbsolutePath();
> >  > >  >         file = fileObj;
> >  > >  >         calcValue();
> >  > >  >     }
> >  > >  > [$B=$@58e%=!<%9(B]$B$3$3$^$G(B
> >  > >  >
> >  > >  > $B0J>e$G$9!#(B
> >  > >
> >  > >
> >  > > ----------------------------------------------
> >  > >   $B>.?9(B $BM52p(B / Yusuke Komori
> >  > >
> >  > >   E-Mail : [E-MAIL ADDRESS DELETED]
> >  > >     Blog : http://d.hatena.ne.jp/y-komori/
> >  > >      URL : http://www.littleforest.jp/
> >  > >
> >  > >
> >  > >
> >  > > _______________________________________________
> >  > >  uruma-dev mailing list
> >  > >  [E-MAIL ADDRESS DELETED]
> >  > >  https://ml.seasar.org/mailman/listinfo/uruma-dev
> >  > >
> >  > >
> >
> >  ----------------------------------------------
> >   $B>.?9(B $BM52p(B / Yusuke Komori
> >
> >   E-Mail : [E-MAIL ADDRESS DELETED]
> >     Blog : http://d.hatena.ne.jp/y-komori/
> >      URL : http://www.littleforest.jp/
> >
> >
> >
> > _______________________________________________
> >  uruma-dev mailing list
> >  [E-MAIL ADDRESS DELETED]
> >  https://ml.seasar.org/mailman/listinfo/uruma-dev
> >
> >

----------------------------------------------
 $B>.?9(B $BM52p(B / Yusuke Komori

  E-Mail : [E-MAIL ADDRESS DELETED]
    Blog : http://d.hatena.ne.jp/y-komori/
     URL : http://www.littleforest.jp/




uruma-dev メーリングリストの案内