5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【Java】Apache Jakarta Commons

1 :デフォルトの名無しさん:04/09/12 10:56:03
クラスもかなり増えてきた
Apache Jakarta Commons について語るスレッド

Apache Jakarta Commons
http://jakarta.apache.org/commons/

中でも便利なものが
Commons Lang
http://jakarta.apache.org/commons/lang/
Commons Collections
http://jakarta.apache.org/commons/collections/
Commons FileUpload
http://jakarta.apache.org/commons/fileupload/

とくにLangには equals(), hashcode(), compareTo(), toString()
メソッドを簡単にオーバライドできるメソッドが用意されており重宝する。
そのほか、NestableExceptionはC#のような言語に頼らなくても
投げられ続けた例外を上書きせずに保持する事ができるので便利。

Collectionsは java.utilのコレクションクラスに不満を持つ者にとっては
朗報だ。ListとHashを兼ねた便利なクラスも用意されており、その数は豊富である。


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

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

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

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

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

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

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

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


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



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

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

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

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

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

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

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


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

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

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

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

720 :デフォルトの名無しさん:2006/11/14(火) 11:27:16
unixでいうところのbashのreadlineのライブラリに似たものはcommonsにないですかね。

721 :デフォルトの名無しさん:2006/11/14(火) 11:29:29
>>719
そうそう。
springって単純にnewの内容を設定ファイル化できるけど、
それじゃ処理の流れを変更できないので、
spring+chainの軽量ライブラリがあればbestなんだけど。

722 :デフォルトの名無しさん:2006/11/14(火) 11:53:14
>>720
commonsじゃないけど、sourceforgeにJava Readlineっつうのがあったよ。
ttp://java-readline.sourceforge.net/

723 :デフォルトの名無しさん:2006/11/20(月) 11:32:29
ConfigurationのXPathExpressionEngineって、XMLConfiguration をxpath検索できるのかな?
jxpathの絡んでる?

724 :デフォルトの名無しさん:2006/11/21(火) 09:46:42
ArrayIntList結構便利かも。

725 :デフォルトの名無しさん:2006/11/21(火) 12:27:59
>>723
それ使ったことがないからわからないけど
Configurationは不安定でファイルをオートリロードするストラテジも
ろくに機能しないし、ファイル書き込みも意味不明でどこの
ディレクトリパスなのかさっぱりわからない不具合がおきるし(save()メソッドの
挙動が変。絶対パスなのか相対パスなのかイマイチ)。

726 :デフォルトの名無しさん:2006/11/21(火) 14:38:51
>>725
最近バージョン上がったよ。
細かくは試していないけど。

727 :デフォルトの名無しさん:2006/11/27(月) 22:59:05
JSP2.0のEL部分だけ取り出したようなライブラリってCommonsにないんかな。
変数入れたMapと文字列渡すと実行できるようなやつ。

静的なメソッド呼び出しを関数に割り当てできるとベスト。
設定に数式を入力できないとヤダとか言い出すヤツが多くて困る…


728 :デフォルトの名無しさん:2006/11/27(月) 23:18:02
Jakarta Commons EL

729 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/11/28(火) 00:44:55
>>730
おぉ、パッと見はよさげ。サンクス。
式って言うか、ちょっとスクリプト寄り?
意図しないstaticメソッド呼び出しができないようになってれば
変数入れたMapとの変換で何とかなるかな。

今筋トレ中なので、明日にでも試してみるよ。

732 :デフォルトの名無しさん:2006/11/28(火) 13:27:00
OROの話題ですが、置換で$1が使えますが、(??{ code }) は使えるでしょうか。
codeは、Perlにおいて、埋め込まれたPerlコードを実行してその結果を正規表現を表すものとして使用します。
らしいですが、javaのメソッドなど呼べたら便利かなと。

つまり、メソッドを登録しておき、そのメソッドにマッチした部分の引数をOROがわで渡すことができればOKなのですが。

733 :デフォルトの名無しさん:2006/11/28(火) 13:43:55
PropertyUtils#setProperty()でセットできる対象はsetterがあるプロパティだけだけど、
setterがないものにもセットできるものはないかな?
ToStringBuilderあたりはその辺強引にやっているらしいけど

734 :デフォルトの名無しさん:2006/11/28(火) 14:24:22
>>732
多分Oro単体では無理。
GroovyやBeanShellみたいなスクリプティングエンジンと組み合わせれば多分可能。

735 :デフォルトの名無しさん:2006/11/29(水) 00:07:47
IOUtils1.2にあるProxyReaderとかのProxy〜系ストリームクラスってJDK標準のFilter〜系クラスと何が違うんですか?
それぞれFilter系クラスを拡張してあるようなのですが、いまいち何のために使うべきなのかわかりません。

736 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/11/30(木) 09:48:59
>>722
nativeのライブラリ使ってるだけだった。
ナンだよそれって感じ。
環境依存するので使用はボツ

738 :デフォルトの名無しさん:2006/11/30(木) 10:28:31
>>737
コンソール使ってる時点で環境依存はやむを得ない。

739 :デフォルトの名無しさん:2006/11/30(木) 10:54:20
log4jで、設定ファイル中のログレベルを変更した場合、アプリ再起動しないで即時更新させることはできますか?
運用中にレベルを変更することは結構あると思うので・・・

740 :デフォルトの名無しさん:2006/11/30(木) 23:19:40
ログファイルの変更を監視すればいいんじゃない?

741 :デフォルトの名無しさん:2006/12/01(金) 08:21:05
>>739
つ ttp://www.beasys.co.jp/dev2dev/resourcelibrary/utilitiestools/adminmgmt.html#Log4jAdministrationJSP

742 :デフォルトの名無しさん:2006/12/01(金) 11:15:47
>>741
そんな面倒なことしなくても、タイムスタンプを見てから
DOMConfigurator.configureを実行すれば、ロガーの追加もレベル変更も即時更新。


743 :デフォルトの名無しさん:2006/12/01(金) 14:21:01
>>742
ほんまや

744 :デフォルトの名無しさん:2006/12/01(金) 16:44:04
DOMConfigurator.configureAndWatchでよくね?

745 :デフォルトの名無しさん:2006/12/02(土) 02:43:17
>>742,744
739じゃないけど、kwsk教えてください


746 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/12/08(金) 21:08:33
XMLConfiguration、HierarchicalConfiguration超使える。
これで書き込みができれば最高

748 :デフォルトの名無しさん:2006/12/11(月) 10:47:57
IOUtilsのFileUtils.listFilesでファイル検索が簡単にできるけど、

/home/*/bin/*.sh とかのワイルドカード検索はできないんだね。
ワイルドカードのフィルターはあるけど・・・

749 :デフォルトの名無しさん:2006/12/11(月) 13:05:53
>>747
XMLのほうは書き込みやリロードのバグがあったが
直ってるか?

750 :デフォルトの名無しさん:2006/12/11(月) 14:19:04
>>749
ぽいよ。

751 :デフォルトの名無しさん:2006/12/15(金) 19:58:22
CollectionのBagで数が多い順に取り出す方法はありますか?

752 :デフォルトの名無しさん: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しないようにすればいいのに・・・

206 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)