ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Java質問&情報提供サイトコミュの【Java】JunkUtil【ライブラリ】

  • mixiチェック
  • このエントリーをはてなブックマークに追加
青い鴉(ぶるくろ)というものです。
このたび、「JunkUtil」というプロジェクトを立ち上げました。

http://www.arkhamsoft.jp/junkutil/

これは富豪的プログラミングやタイプ数削減などを目標に、よく使うメソッドを実装していき、
実用的なライブラリを整備していこうという趣旨のプロジェクトです。

上のURLに、プロジェクトのアーカイブと、JavaDocを置いておきました。
(SorceForgeは難しいので、使いたくても使えません)

このトピック内にてフィードバックを頂き、より有意義なプロジェクトに
していければ……と考えております。よろしくお願いいたします。

コメント(30)

現状、以下が主なクラスです。

junkutil.common

 StringUtil……標準のStringクラスに不足している機能の補完
 FileUtil……ファイルの内容をListやStringで取得、書き出し
 NullUtil……各種nav関数
 OputGets……引数の解析(FileUtilと組み合わせて、バッチプログラムを作る際に効果的)
 DataDumper……なんでも見やすくダンプ表示(Beanオブジェクトにも対応、デバッグに効果的)
 Config……Iniファイルの読み込み(自動エンコード判別機能つき)

junkutil.set

 LzList、LzMap……orやand、setやmargeなど、パワフルな操作が可能に

junkutil.excel

 CSV……MS-CSV、TSVを解析
 ExcelUtil……Excelの読み書き
OputGetsではなくてOptGetsでした。タイプミスすみません。
調べたらnullを置き換える関数はnavじゃなくてnvlですね……直します。
他にはLzList#grepなどを追加予定です。
JunkUtil-21000830.jar をリリースしました。

2011/08/30
  ・NullUtilの関数名をnvlに変更
  ・LzList#grep, LzList#ungrep, StringUtil#match を追加
  ・README.txtを同梱
  ・修正BSDライセンスを適用
  ・WEBにサンプルプログラムを掲載

変更点は以上です。
GUIまわりのクラスです。

junkutil.gui

 LzLookAndFeel……外観を簡単に変えられるクラス
 LzMenu……メニューとアクションを手軽に関連付けできるようにしたクラス
 LzCallBack……LzMenuと共に使えるコールバック関数の実装(リフレクションを使用)
 LzFrame, LzDialog……Escキーでのクローズに対応したクラス

以下がGUIのサンプルです。
http://www.arkhamsoft.jp/junkutil/sample_gui.html

LzMenuのおかげで、メニュー周りが非常にシンプルになっているのが分かると思います。
mixiページを作ってみました。

JunkUtil(ジャンク・ユーティリティ)
http://page.mixi.jp/view_page_information.pl?module_id=36149&page_id=6672
2011/08/31
  ・サイトを見やすくした
  ・DataDumper#dumpBeanでString[]の展開に対応
  ・DataDumper#dumpMapの出力を"a => 1"から"a=1"に変更
  ・LzMap#toString()を"{a => 1, b => 2}"から"{a=1, b=2}"に変更

2011/09/01
  ・DataDumper#dumpBeanにてプリミティブ配列
   (boolean[],int[],float[],double[])の展開に対応
  ・LzMap#keyGrep, LzMap#keyUngrep, LzMap#subset を追加
GUIサンプル実行結果。
LzMenuで複雑なメニューも楽々!
> 青い鴉さん

私…Cui/Guiの3Dの webデザがサイトtreeに 置き去り状態

なるほど…Swing-Jすらあせあせ(飛び散る汗)

JDK import; 波浪〜ダッシュ(走り出す様)だけm(__)m

***mixiページ…足NEW
>ぬぅぼぅさん

フォローありがとうございます。
LzMenuではショートカットも定義できます。

LzMenu menu = new LzMenu();
menu.addMenu("ファイル/メッセージ,Ctrl+M", new AbstractAction() {
//中略
});
junkutil-20110903.jarを公開しました。今回はメソッドの追加だけです。
SourceForgeにてプロジェクトを立ち上げました。
バックアップ的な位置づけで使って行こうと思います。
http://sourceforge.jp/projects/junkutil/
junkutil-20110909.jarを公開しました。
変更点は、FileUtilのバグ修正、FileUtil#copyの追加などです。
アイコンができました。今後ともよろしくお願いします。
junkutil-20110914.jarをリリースしました。
http://sourceforge.jp/projects/junkutil/releases/

変更点
・LzMap#sortedKeys(Comparator)の追加
・ライセンスファイルの追加

です。19日に正式リリースする予定です。
junkutil.crypt.MD5 を実装。19日の正式バージョンに含まれる予定です。
ちょっとフライング気味ですが、

JunkUtil ver1.0.0 を公開しました。
http://sourceforge.jp/projects/junkutil/releases/

よろしくお願いいたします。
少し長文になりますが、記事を書きました。

【開発】JunkUtil開発の経緯について
http://mixi.jp/view_diary.pl?id=1776094292&owner_id=22636887
JunkUtil 1.0.2 を公開しました。
http://sourceforge.jp/projects/junkutil/releases/

・MD5#asHex, MD5#asByteArrayを追加
・DataDumper#dumpByteArrayを追加
・暗号化クラスDESの追加
・FileUtilでバイナリを読み書き追記できるようにしました。
http://sourceforge.jp/forum/forum.php?forum_id=27164

クロージャを実装

JunkUtil 1.0.3では、LzList、LzMapそれぞれにメソッドforEachが実装されました。このメソッドは、クロージャを実現するためのものです。
LzList#forEachの引数にLzListClosureの匿名クラスを、LzMap#forEachの引数にLzMapClosureの匿名クラスを利用することで、それぞれクロージャを実現しています。

詳細はリンク先参照のこと。
JunkUtil 1.0.5 を公開しました。
http://sourceforge.jp/projects/junkutil/releases/
バグフィックス版、JunkUtil 1.0.6 を公開しました。
http://sourceforge.jp/projects/junkutil/releases/

9/23に安定版をリリースします。
安定版、JunkUtil 1.0.7 を公開しました。
http://sourceforge.jp/projects/junkutil/releases/

これからJunkUtilを使う方はこちらをご利用ください。
マイルストーン「Android対応(期限10/31)」を置きました。

主にAndroid SDK(のエミュレーター)を使って、Android開発環境から
JunkUtilを使うことができるかの検証、追加したい新機能は無いかなどの
需要調査などをしていけたらいいなーと思います。
Androidエミュレータでテストしたところ、思ったより簡単に動いた。

Android対応版 1.0.8 を公開しました。
http://sourceforge.jp/projects/junkutil/releases/
最新版 1.0.12 を公開しました。
http://sourceforge.jp/projects/junkutil/releases/
最新版 1.0.18 を公開しました。
http://sourceforge.jp/projects/junkutil/releases/
最新版 1.1.0 を公開しました。
cryptパッケージのメソッドをstatic化しました。
http://sourceforge.jp/projects/junkutil/releases/

ログインすると、残り1件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

Java質問&情報提供サイト 更新情報

Java質問&情報提供サイトのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。