[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 10/30 04:07 / Filesize : 205 KB / Number-of Response : 753
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Java】Apache Jakarta Commons



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を兼ねた便利なクラスも用意されており、その数は豊富である。


698 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 10:12:59 ]
10個の要素があるリストで、5、6、7、8、9,10,1,2,3,4って順にまわしてくれる
iteratorないですか?
5でnextがfalseになるような感じです。

699 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 10:20:57 ]
開始する要素が固定とかだったら、自分で書いた方が早いんじゃない?

700 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 12:01:25 ]
>>698
なんで10の次が1になるのか。
まず最初に5から読み込むがいきなりfalseになって
結局回らない。

何がいいたいのかわからない。

701 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 12:30:02 ]
こういうコンパイラ以上のことが出来ないやつは一生底辺プログラマだな
>698
それ位はさすがに自分でコード書こう
応急処置としてsubListでばらして繋ぎなおすとか。

702 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:08:40 ]
>>698の日本語が変なので
具体的に彼が何がしたいのかよくわからない


703 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:17:41 ]
>>702
要は、開始位置が指定できて、リストが持っている配列の最後にきたら先頭に戻るようにして
終了のタイミングは開始位置の1つ前、って事でしょ。わかれよ

704 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:32:35 ]
test

705 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:33:49 ]
で、そんなよく使うわけでもないモノはcommonsには無いし、書くのも簡単だから書けば。
で終了。

706 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:37:51 ]
>>703
Bufferでやりたくなってくる



707 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:43:15 ]
>>706
List から Buffer への変換やるのか。面倒くさそう。

708 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:50:06 ]
Iteratorを継承して自作すればいい

709 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:51:58 ]
>>703
それでも>>698の言っている意味と合致していないような気がするが。

最後に5でnextがfalseになるようにしたい?


俺は、まずソートしてからIteratorを回したいと>>698
主張しているように見えたぞ



710 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 23:59:03 ]
LoopingIterator

711 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 00:04:09 ]
「作ればいいじゃん」でFAですね。

712 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 00:06:58 ]
>>711
>>710

713 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 10:48:27 ]
>>710
それじゃ永久ループじゃん。

714 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 18:57:49 ]
ToStringBuilder.reflectionToStringのネスト機能が欲しい・・・

715 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 20:58:45 ]
そういうときこそ、自作すればいいじゃないか。
そしてパッチをCommonsに提供するんだ。
そうすれば知名度が上がるかもしれないぞ。

つか、EclipseのCommons4Eプラグインを使えば
ある程度自動化できるんじゃないのか?


716 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 22:24:56 ]
Iteratorなんて滅茶苦茶シンプルなインタフェースなんだから探すより作った方が早いよ。



717 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 15:52:40 ]
JRCS・・・なくなった。
diffも使えなくなった・・・

718 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 09:47:19 ]
commonsにchainってあったんだ。
struts1.3でも使っているみたいだね。
ovserveもあるといいかも。

719 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 09:55:28 ]
Chain of Responsibilityパターンが実現できる
あのAPIか

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しないようにすればいいのに・・・






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<205KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef