1 名前:デフォルトの名無しさん [04/09/12 10:56:03] クラスもかなり増えてきた Apache Jakarta Commons について語るスレッド Apache Jakarta Commons jakarta.apache.org/commons/ 中でも便利なものが Commons Lang jakarta.apache.org/commons/lang/ Commons Collections jakarta.apache.org/commons/collections/ Commons FileUpload jakarta.apache.org/commons/fileupload/ とくにLangには equals(), hashcode(), compareTo(), toString() メソッドを簡単にオーバライドできるメソッドが用意されており重宝する。 そのほか、NestableExceptionはC#のような言語に頼らなくても 投げられ続けた例外を上書きせずに保持する事ができるので便利。 Collectionsは java.utilのコレクションクラスに不満を持つ者にとっては 朗報だ。ListとHashを兼ねた便利なクラスも用意されており、その数は豊富である。
720 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 11:27:16 ] unixでいうところのbashのreadlineのライブラリに似たものはcommonsにないですかね。
721 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 11:29:29 ] >>719 そうそう。 springって単純にnewの内容を設定ファイル化できるけど、 それじゃ処理の流れを変更できないので、 spring+chainの軽量ライブラリがあればbestなんだけど。
722 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 11:53:14 ] >>720 commonsじゃないけど、sourceforgeにJava Readlineっつうのがあったよ。 ttp://java-readline.sourceforge.net/
723 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 11:32:29 ] ConfigurationのXPathExpressionEngineって、XMLConfiguration をxpath検索できるのかな? jxpathの絡んでる?
724 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 09:46:42 ] ArrayIntList結構便利かも。
725 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 12:27:59 ] >>723 それ使ったことがないからわからないけど Configurationは不安定でファイルをオートリロードするストラテジも ろくに機能しないし、ファイル書き込みも意味不明でどこの ディレクトリパスなのかさっぱりわからない不具合がおきるし(save()メソッドの 挙動が変。絶対パスなのか相対パスなのかイマイチ)。
726 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 14:38:51 ] >>725 最近バージョン上がったよ。 細かくは試していないけど。
727 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 22:59:05 ] JSP2.0のEL部分だけ取り出したようなライブラリってCommonsにないんかな。 変数入れたMapと文字列渡すと実行できるようなやつ。 静的なメソッド呼び出しを関数に割り当てできるとベスト。 設定に数式を入力できないとヤダとか言い出すヤツが多くて困る…
728 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 23:18:02 ] Jakarta Commons EL
729 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 00:16:00 ] >>728 それはJSP用のELやん。 Expression#evaluateがjavax.servlet.jsp.el.VariableResolver使うから避けたい。 このライブラリで言うと、 引数はorg.apache.commons.el.VariableResolverになってるやつが欲しい。 んで、JspVariableResolverとMapVariableResolverって感じでAdapterがあると単独で使いやすい。 ついでに言うと、Expressionにはevaluate(Map)な簡易メソッドがあると最高。
730 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 00:25:08 ] Jakarta Commons JEXLはどうなん? > Java Expression Language (JEXL) is an expression language engine > which can be embedded in applications and frameworks. ってあるけど。
731 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 00:44:55 ] >>730 おぉ、パッと見はよさげ。サンクス。 式って言うか、ちょっとスクリプト寄り? 意図しないstaticメソッド呼び出しができないようになってれば 変数入れたMapとの変換で何とかなるかな。 今筋トレ中なので、明日にでも試してみるよ。
732 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 13:27:00 ] OROの話題ですが、置換で$1が使えますが、(??{ code }) は使えるでしょうか。 codeは、Perlにおいて、埋め込まれたPerlコードを実行してその結果を正規表現を表すものとして使用します。 らしいですが、javaのメソッドなど呼べたら便利かなと。 つまり、メソッドを登録しておき、そのメソッドにマッチした部分の引数をOROがわで渡すことができればOKなのですが。
733 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 13:43:55 ] PropertyUtils#setProperty()でセットできる対象はsetterがあるプロパティだけだけど、 setterがないものにもセットできるものはないかな? ToStringBuilderあたりはその辺強引にやっているらしいけど
734 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 14:24:22 ] >>732 多分Oro単体では無理。 GroovyやBeanShellみたいなスクリプティングエンジンと組み合わせれば多分可能。
735 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 00:07:47 ] IOUtils1.2にあるProxyReaderとかのProxy〜系ストリームクラスってJDK標準のFilter〜系クラスと何が違うんですか? それぞれFilter系クラスを拡張してあるようなのですが、いまいち何のために使うべきなのかわかりません。
736 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 13:29:22 ] A Proxy stream which acts as expected, that is it passes the method calls on to the proxied stream and doesn't change which methods are being called. It is an alternative base class to FilterReader to increase reusability, because FilterReader changes the methods being called, such as read(char[]) to read(char[], int, int). FilterReader がメソッドのシグネチャを変えやがるから Reader のシグネチャと同じになるようにしたやつを作った。 らしい。
737 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 09:48:59 ] >>722 nativeのライブラリ使ってるだけだった。 ナンだよそれって感じ。 環境依存するので使用はボツ
738 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 10:28:31 ] >>737 コンソール使ってる時点で環境依存はやむを得ない。
739 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 10:54:20 ] log4jで、設定ファイル中のログレベルを変更した場合、アプリ再起動しないで即時更新させることはできますか? 運用中にレベルを変更することは結構あると思うので・・・
740 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 23:19:40 ] ログファイルの変更を監視すればいいんじゃない?
741 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 08:21:05 ] >>739 つ ttp://www.beasys.co.jp/dev2dev/resourcelibrary/utilitiestools/adminmgmt.html#Log4jAdministrationJSP
742 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 11:15:47 ] >>741 そんな面倒なことしなくても、タイムスタンプを見てから DOMConfigurator.configureを実行すれば、ロガーの追加もレベル変更も即時更新。
743 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 14:21:01 ] >>742 ほんまや
744 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 16:44:04 ] DOMConfigurator.configureAndWatchでよくね?
745 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 02:43:17 ] >>742 ,744 739じゃないけど、kwsk教えてください
746 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 15:05:25 ] つAPI ttp://www.ingrid.org/jajakarta/log4j/jakarta-log4j-1.1.3/docs-ja/api/org/apache/log4j/xml/DOMConfigurator.html#configureAndWatch(java.lang.String,%20long)
747 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 21:08:33 ] XMLConfiguration、HierarchicalConfiguration超使える。 これで書き込みができれば最高
748 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 10:47:57 ] IOUtilsのFileUtils.listFilesでファイル検索が簡単にできるけど、 /home/*/bin/*.sh とかのワイルドカード検索はできないんだね。 ワイルドカードのフィルターはあるけど・・・
749 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 13:05:53 ] >>747 XMLのほうは書き込みやリロードのバグがあったが 直ってるか?
750 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 14:19:04 ] >>749 ぽいよ。
751 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 19:58:22 ] CollectionのBagで数が多い順に取り出す方法はありますか?
752 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 10:08:56 ] AbstractMapBagに /** * Mutable integer class for storing the data. */ protected static class MutableInteger { /** The value of this mutable. */ protected int value; /** * Constructor. * @param value the initial value */ MutableInteger(int value) { this.value = value; } public boolean equals(Object obj) { if (obj instanceof MutableInteger == false) { return false; } return ((MutableInteger) obj).value == value; } public int hashCode() { return value; } } ってあるけど、何でInteger使わないんだろ。メモリの削減になるわけでもないような。 ツーか頻繁に変えるなら、plus()minux()のメソッド作ってデータの変更のたびにnewしないようにすればいいのに・・・