jp.gr.java_conf.dangan.util.lha

Class LhaProperty


public class LhaProperty
extends Object

LHA Library for Java の各種設定を扱う。
LhaProperty.getProperty() や LhaProperty.getProperties() で得られる値は システムプロパティ、設定ファイル、デフォルト値の何れかが用いられ、 その優先順位は以下のようになる。
  1. システムプロパティ に設定されている値。
  2. jp/gr/java_conf/dangan/util/lha/resources/lha.properties に設定された値。
  3. デフォルト値。


キーの一覧は以下のとおり。
キー対応する値の説明
lha.encodingString とヘッダ内の文字列との相互変換に用いるエンコーディング
lha.packages生成式内で使われるクラスのパッケージ名の列挙(カンマ区切り)
lha.lzs.encoder-lzs- 形式への符号化を行うオブジェクトの生成式
lha.lz4.encoder-lz4- 形式への符号化を行うオブジェクトの生成式
lha.lz5.encoder-lz5- 形式への符号化を行うオブジェクトの生成式
lha.lh0.encoder-lh0- 形式への符号化を行うオブジェクトの生成式
lha.lh1.encoder-lh1- 形式への符号化を行うオブジェクトの生成式
lha.lh2.encoder-lh2- 形式への符号化を行うオブジェクトの生成式
lha.lh3.encoder-lh3- 形式への符号化を行うオブジェクトの生成式
lha.lh4.encoder-lh4- 形式への符号化を行うオブジェクトの生成式
lha.lh5.encoder-lh5- 形式への符号化を行うオブジェクトの生成式
lha.lh6.encoder-lh6- 形式への符号化を行うオブジェクトの生成式
lha.lh7.encoder-lh7- 形式への符号化を行うオブジェクトの生成式
lha.lhd.encoder-lhd- 形式への符号化を行うオブジェクトの生成式
lha.lzs.decoder-lzs- 形式のデータを復号化するオブジェクトの生成式
lha.lz4.decoder-lz4- 形式のデータを復号化するオブジェクトの生成式
lha.lz5.decoder-lz5- 形式のデータを復号化するオブジェクトの生成式
lha.lh0.decoder-lh0- 形式のデータを復号化するオブジェクトの生成式
lha.lh1.decoder-lh1- 形式のデータを復号化するオブジェクトの生成式
lha.lh2.decoder-lh2- 形式のデータを復号化するオブジェクトの生成式
lha.lh3.decoder-lh3- 形式のデータを復号化するオブジェクトの生成式
lha.lh4.decoder-lh4- 形式のデータを復号化するオブジェクトの生成式
lha.lh5.decoder-lh5- 形式のデータを復号化するオブジェクトの生成式
lha.lh6.decoder-lh6- 形式のデータを復号化するオブジェクトの生成式
lha.lh7.decoder-lh7- 形式のデータを復号化するオブジェクトの生成式
lha.lhd.decoder-lhd- 形式のデータを復号化するオブジェクトの生成式
lha.headerLhaHeader のインスタンスの生成式

生成式は以下のように定義される。
<生成式>::= <コンストラクタ> | <配列> | <置換文字列> | <クラス名> | <文字列>
<コンストラクタ>::= <クラス名> '(' 引数 ')'
<引数>::= [ <生成式> [ ',' <引数> ] ]
<配列>::= '[' <要素> ']'
<要素>::= [ <生成式> [ ',' <要素> ] ]

クラス名は "lha.packages" に対応する値を使用して完全修飾名へと変換される。
置換文字列 はライブラリ内部でオブジェクトに置換される文字列で 現在以下の4種類が定義されている。
lha.???.encoderout圧縮後のデータを受け取る java.io.OutputStream
lha.???.decoderin圧縮データを供給する java.io.InputStream
length復号化されたデータのバイト数
lha.headerdataヘッダデータを格納した byte配列
encodingヘッダ内の文字データを String に変換する際に使用するエンコーディング

 -- revision history --
 $Log: LhaProperty.java,v $
 Revision 1.0.2.2  2005/04/29 02:15:53  dangan
 [bug fix]
     createDefaultProperty() で圧縮法識別子 -lhd- 用のエンコーダどデコーダが設定されていなかった。

 Revision 1.0.2.1  2004/06/27 12:09:49  dangan
 [bugfix]
     生成式でカンマを使うべき部分でピリオドを使っていたのを修正。

 Revision 1.0  2002/12/05 00:00:00  dangan
 first edition
 add to version control

 
Version:
$Revision: 1.0.2.2 $
Author:
$Author: dangan $

Field Summary

static String
encoding
LHA Library for Java 内 で デフォルトで使用されるエンコーディング

Method Summary

static Properties
getProperties()
LHA Library for Java のプロパティのコピーを得る。
static String
getProperty(String key)
LHA Library for Java のプロパティから key に対応するものを取得する。
static Object
parse(String source, Hashtable substitute, String packages)
LHA Library for Java のプロパティ用の 生成式 source を解析して 新しい Object を生成する。
static Object
parse(String source, Hashtable substitute, String[] packages)
LHA Library for Java のプロパティ用の 生成式 source を解析して 新しい Object を生成する。

Field Details

encoding

public static final String encoding
LHA Library for Java 内 で デフォルトで使用されるエンコーディング

Method Details

getProperties

public static Properties getProperties()
LHA Library for Java のプロパティのコピーを得る。
Returns:
プロパティのコピー

getProperty

public static String getProperty(String key)
LHA Library for Java のプロパティから key に対応するものを取得する。
Parameters:
key - プロパティのキー
Returns:
ブロパティの文字列

parse

public static Object parse(String source,
                           Hashtable substitute,
                           String packages)
LHA Library for Java のプロパティ用の 生成式 source を解析して 新しい Object を生成する。
Parameters:
substitute - 置換対象文字列をkeyにもち、置換するObjectを値に持つ Hashtable
packages - カンマで区切られたパッケージ名の列挙
Returns:
生成された Object

parse

public static Object parse(String source,
                           Hashtable substitute,
                           String[] packages)
LHA Library for Java のプロパティ用の 生成式 source を解析して 新しい Object を生成する。
Parameters:
substitute - 置換対象文字列をkeyにもち、置換するObjectを値に持つ Hashtable
packages - パッケージ名の配列
Returns:
生成された Object

When you found typographical errors or omissions, Please mail to cqw10305@nifty.com
The company name and product name which are used in this document, it is the trademark or registered trademark of each company generally.
Copyright © 2001-2002 Michel Ishizuka. All Rights Reserved.