$B>.?9$5$s(B<br><br>$B?y>e$G$9!#!!CY%l%9$9$$$^$;$s!#(B<br><br>S2Container $BB&$N=$@5$"$j$,$H$&$4$6$$$^$9!#(B<br>brunch$B$G0J2<$N=$@5$r9T$$$^$7$?!#(B<br><br>$B!c$*4j$$!d(B<br>S2Container $BB&$G#2E@DI2C$N=$@5$r$*4j$$$?$7$^$9!#(B<br>$B=$@5FbMF$N(BUrumaNamingConventionImpl$B$H(BEnv$B$r;2>H$/$@$5$$!#(B<br>$B$^$?!"%V%i%s%A$N(Borg.seasar.framework$B%Q%C%1!<%80J2<$K=$@5HG$rCV$$$F$$$^$9!#(B<br>
<br>$B!cJ}?K!d(B<br>S2Container $BB&$N=$@5$,40N;$7!"!"(Bbrunch$B$N=$@5FbMF$K(B<br>$BLdBj$,$J$$$h$&$G$7$?$i!"(Bcooldeploy$B$r(Btrunk$B$K%^!<%8$H(B<br>S2Container $B$N(B VerUP$B$r$7$h$&$H;W$$$^$9!#(B<br>$B!J"((B Hotdeploy$B$OIT0BDj$J$N$G!"(Btrunk$B$K$O$^$@%^!<%8$7$^$;$s!K(B<br><br>$B!c=$@5FbMF!d(B<br>MANIFEST.MF<br>
$B-!(BExported packages$B$r=$@5!J(Borg.seasar.uruma.container$B0J2<$r8x3+!K(B<br>
$B-"(Bseasar$B$N(BVer$B$r(B2.4.25-20080401$B$KJQ99(B<br>
<br>$B!d(Burumacooldeploy-autoregister.dicon<br>$B!d(B $B"*(B Uruma $B$X$H$j$3$_(B<br><div style="direction: ltr;">$B!d(BS2Container $B$O!"%3%s%F%/%9%H%/%i%9%m!<%@$+$i(Bdicon$B%U%!%$%k(B<br>$B!d(B
$B$rFI$_9~$`$7$h$&$K$J$C$F$$$k$N$G!"(BUrumaS2ContainerFactoryCoolProvider<br>
$B!d$NCf$G(B UrumaService#switchToUrumaClassLoader() $B$r8F$S=P$7$F(B<br>
$B!d$+$i%$%s%/%k!<%I$9$l$P!"FI$_9~$a$k$h$&$J5$$,$7$^$9!#(B</div>$B-!(Burumacooldeploy-autoregister.dicon$B$O(BUrumaApp$BB&$G;}$D$h$&$K$7$^$7$?!#(B<br>$B!!(BUrumaServie$B$N:n@.40N;A0$N=hM}%?%$%_%s%0$N$?$a!"(BUrumaServiceUtil$B$+$i(B<br>$B!!(BUrumaServie$B$r;2>H$G$-$^$;$s$G$7$?!#(B<br>$B-"(Burumacooldeploy.dicon$B$N(Bcomponent class$B%Q%9$r=$@5(B<br>
<br><br>>UrumaCoolComponentAutoRegister<br>> $B"*(B Uruma $B$X%Q%C%1!<%80\F0(B & CoolComponentAutoRegister $B$N%5%V(B<br>> $B%/%i%9$K$7$FI,MW%a%=%C%I$N$_%*!<%P!<%i%$%I(B<br>$B-!0J2<$N%Q%C%1!<%80\F0(B<br>$B!!(Borg.seasar.uruma.container.cooldeploy<br>$B-"I,MW%a%=%C%I$N$_%*!<%P!<%i%$%I(B<br>$B!!(BregisterAll$B%a%=%C%I$N$_%*!<%P!<%i%$%I(B<br>
<br><br>$B!d(BUrumaS2ContainerFactoryCoolConfigurator<br>$B!d(B $B"*(B Uruma $B$X%Q%C%1!<%80\F0(B<br>$B-!0J2<$N%Q%C%1!<%80\F0(B<br>
$B!!(Borg.seasar.uruma.container.cooldeploy<br><br><br>$B!d(BUrumaS2ContainerFactoryCoolProvider<br>$B!d(B $B"*(B Uruma $B$X%Q%C%1!<%80\F0(B<br>$B-!0J2<$N%Q%C%1!<%80\F0(B<br>
$B!!(Borg.seasar.uruma.container.cooldeploy<br>
<br><br>$B!d(B*Creator<br>$B!d(B $B"*(B Uruma*Creator $B$K%j%M!<%`$7$F(B Uruam $B%Q%C%1!<%8$X0\F0(B<br>$B!d(B + $B%G%U%)%k%H$N(B creator.dicon $B$rDs6!(B<br>$B-!0J2<$N%Q%C%1!<%80\F0(B<br>
$B!!(Borg.seasar.uruma.container.creator<br>$B-"(BUruma*Creator $B$K%j%M!<%`(B<br>$B-#(BUrumaApp$BB&$K(Bconvention.dicon$B$rG[CV(B<br>$B!!(Bcreator.dicon$B$N(Bcomponent class$B%Q%9$r=$@5(B<br><br><br>$B!d(BUrumaNamingConventionImpl<br>$B!d(B $B"*(B Uruma $B$X%Q%C%1!<%80\F0(B<br>$B!d(B + $B%G%U%)%k%H$N(B convention.dicon $B$rDs6!(B<br>
$B-!0J2<$N%Q%C%1!<%80\F0(B<br>$B!!(Borg.seasar.uruma.container.convention<br>$B-"(BUrumaApp$BB&$K(Bconvention.dicon$B$rG[CV(B<br>$B!!(Bconvention.dicon$B$N(Bcomponent class$B%Q%9$r=$@5(B<br>$B-#%$%s%J!<%/%i%9!J(BExistChecker$B7O!K$,(Bprotected$B$N$?$a(B<br>$B!!(B $BB>%Q%C%1!<%8;2>H$G$-$J$$$N$G!"(Bpublic$B$K$7$^$7$?!#(B<br>$B!!(B S2Container$BB&$N(BNamingConventionImpl$B$rJQ99D:$1$J$$$G$7$g$&$+!#(B<br>
<br>$B!!(B[$BA0(B]$B!!(Bprotected static interface$B!!(B*<br>$B!!(B[$B8e(B]$B!!(Bpublic static interface$B!!(B*<br>$B!!(B[$BA0(B]$B!!(Bprotected $B%3%s%9%H%i%/%?(B<br>
$B!!(B[$B8e(B]$B!!(Bpublic $B%3%s%9%H%i%/%?(B<br>
<br>$B!!(B[$B=$@58e%=!<%9(B] org.seasar.framework.convention.impl.NamingConventionImpl$B!!(B910$B9TL\0J9_(B<br> /**<br> * $BB8:_%A%'%C%+$N%$%s%?!<%U%'!<%9$G$9!#(B<br> * <br> */<br> public static interface ExistChecker {<br> /**<br> * $B%/%i%9$,B8:_$9$k$+$I$&$+$rJV$7$^$9!#(B<br>
* <br> * @param lastClassName<br> * @return $B%/%i%9$,B8:_$9$k$+$I$&$+(B<br> */<br> boolean isExist(String lastClassName);<br><br> /**<br> * $B%j%=!<%9$r3+J|$7$^$9!#(B<br> */<br> void close();<br>
}<br><br> /**<br> * $B%U%!%$%kMQ$NB8:_%A%'%C%+$G$9!#(B<br> * <br> */<br> public static class FileExistChecker implements ExistChecker {<br> private File rootFile;<br><br> /**<br> * $B%$%s%9%?%s%9$r:n@.$7$^$9!#(B<br>
* <br> * @param rootUrl<br> * $B%k!<%H(BURL<br> */<br> public FileExistChecker(final URL rootUrl) {<br> rootFile = URLUtil.toFile(rootUrl);<br> }<br><br> public boolean isExist(final String lastClassName) {<br>
final File file = new File(rootFile, getPathName(lastClassName));<br> return file.exists();<br> }<br><br> public void close() {<br> }<br> }<br><br> /**<br> * jar$BMQ$NB8:_%A%'%C%+$G$9!#(B<br>
* <br> */<br> public static class JarExistChecker implements ExistChecker {<br> private JarFile jarFile;<br><br> private String rootPath;<br><br> /**<br> * $B%$%s%9%?%s%9$r:n@.$7$^$9!#(B<br> * <br>
* @param jarUrl<br> * jar URL<br> * @param rootPackageName<br> * $B%k!<%H%Q%C%1!<%8L>(B<br> */<br> public JarExistChecker(final URL jarUrl, final String rootPackageName) {<br>
jarFile = JarFileUtil.toJarFile(jarUrl);<br> this.rootPath = rootPackageName.replace('.', '/') + "/";<br> }<br><br> public boolean isExist(final String lastClassName) {<br>
return jarFile.getEntry(rootPath + getPathName(lastClassName)) != null;<br> }<br><br> public void close() {<br> JarFileUtil.close(jarFile);<br> }<br> }<br><br> /**<br> * zip$BMQ$NB8:_%A%'%C%+$G$9!#(B<br>
* <br> */<br> public static class ZipExistChecker implements ExistChecker {<br> private ZipFile zipFile;<br><br> private String rootPath;<br><br> /**<br> * $B%$%s%9%?%s%9$r:n@.$7$^$9!#(B<br> * <br>
* @param zipUrl<br> * zip URL<br> * @param rootPackageName<br> * $B%k!<%H%Q%C%1!<%8L>(B<br> */<br> public ZipExistChecker(final URL zipUrl, final String rootPackageName) {<br>
zipFile = ZipFileUtil.toZipFile(zipUrl);<br> this.rootPath = rootPackageName.replace('.', '/') + "/";<br> }<br><br> public boolean isExist(final String lastClassName) {<br>
return zipFile.getEntry(rootPath + getPathName(lastClassName)) != null;<br> }<br><br> public void close() {<br> ZipFileUtil.close(zipFile);<br> }<br> }<br><br> /**<br> * OC4J$BMQ$NB8:_%A%'%C%+$G$9!#(B<br>
* <br> */<br> public static class CodeSourceExistChecker implements ExistChecker {<br> private JarFile jarFile;<br><br> private String rootPath;<br><br> /**<br> * $B%$%s%9%?%s%9$r:n@.$7$^$9!#(B<br>
* <br> * @param url<br> * URL<br> * @param rootPackageName<br> * $B%k!<%H%Q%C%1!<%8L>(B<br> */<br> public CodeSourceExistChecker(final URL url,<br> final String rootPackageName) {<br>
final URL jarUrl = URLUtil.create("jar:file:" + url.getPath());<br> jarFile = JarFileUtil.toJarFile(jarUrl);<br> this.rootPath = rootPackageName.replace('.', '/') + "/";<br>
}<br><br> public boolean isExist(final String lastClassName) {<br> return jarFile.getEntry(rootPath + getPathName(lastClassName)) != null;<br> }<br><br> public void close() {<br> JarFileUtil.close(jarFile);<br>
}<br> }<br>$B!!!!(B[$B=$@58e%=!<%9(B]$B$3$3$^$G(B<br><br><br>$B!d(BEnv<br>$B!d(B $B"*(B $B%U%!%$%k$N<hF@$,(BRCP$B4D6-$G$O$&$^$/$$$+$J$$$N$,LdBj$G$9$M!#(B<br>$B!d(B S2Container$BB&$G$N=$@5J}K!$r9M$($^$9!#(B<br>S2Container$BB&$N(B<br>Env#setFile $B$N(BEcepction$B$r(BRuntimeEception$B$KJQ99D:$1$J$$$G$7$g$&$+!#(B<br>$B!!(B[$BA0(B] FileNotFoundException<br>
$B!!(B[$B8e(B] ResourceNotFoundRuntimeException<br><br>$B!!(B[$B=$@58e%=!<%9(B] org.seasar.framework.env.Env<br> /**<br> * $B4D6-L>@_Dj%U%!%$%k$r@_Dj$7$^$9!#(B<br> * <br> * @param fileObj<br> * $B4D6-@_Dj%U%!%$%k$rI=$9(B {@link File} $B%*%V%8%'%/%H(B<br> * @throws EmptyRuntimeException<br>
* <code>fileObj</code>$B$,(B<code>null</code>$B$N>l9g$K%9%m!<$5$l$^$9(B<br> * @throws ResourceNotFoundRuntimeException<br> * <code>fileObj</code>$B$N<($9%U%!%$%k$,B8:_$7$J$$>l9g$K%9%m!<$5$l$^$9(B<br>
*/<br> public static void setFile(final File fileObj) {<br> if (fileObj == null) {<br> throw new EmptyRuntimeException("fileObj");<br> }<br> if (!fileObj.exists()) {<br> throw new ResourceNotFoundRuntimeException(fileObj<br>
.getAbsolutePath());<br> }<br> Env.filePath = fileObj.getAbsolutePath();<br> file = fileObj;<br> calcValue();<br> }<br>$B!!!!(B[$B=$@58e%=!<%9(B]$B$3$3$^$G(B<br><br>$B0J>e$G$9!#(B<br><br><br><br><br>