2017.10.11
Java apache commons StrLookup サンプルプログラム
StrLookupの説明(google翻訳)
文字列キーを文字列値にルックアップします。
このクラスは、最も簡単な形式の文字列から文字列へのマップを表します。それは、キーに基づいてオンデマンドで結果を作成できるという点で、マップよりも利点があります。このクラスには、さまざまなファクトリメソッドが用意されています。これらが十分でない場合は、独自のマッチャーをサブクラス化して実装できます。
たとえば、キーを主キーとして使用したルックアップを実装し、データベースからの要求に応じて値を検索することができます
Mapをlookupしてくれます。
システムプロパティーを標準で検索してくれます。
Mapに関しては、一度入れた後、Lookupすると出力されます。
StrLookup
package jp.pjin.tech.java; import java.util.HashMap; import java.util.Map; import jp.pjin.tech.java.domain.Cat; import org.apache.commons.lang3.text.StrLookup; public class CommonsExample26 { public static void main(String[] args) throws Exception { for (Object k : System.getProperties().keySet()) { System.out.println(k.toString() + "=" + StrLookup.systemPropertiesLookup().lookup(k.toString())); } Map<String, Cat> data = new HashMap<>(); Cat c = new Cat(); c.setId(1); c.setName("たま"); data.put(Integer.toString(c.getId()), c); c = new Cat(); c.setId(2); c.setName("くろ"); data.put(Integer.toString(c.getId()), c); System.out.println(StrLookup.mapLookup(data).lookup("1")); } }
Cat
package jp.pjin.tech.java.domain; import java.io.Serializable; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.EqualsExclude; import org.apache.commons.lang3.builder.HashCodeBuilder; import org.apache.commons.lang3.builder.ReflectionToStringBuilder; public class Cat implements Serializable { private static final long serialVersionUID = 1L; @EqualsExclude private int id; private String name; private String type; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getType() { return type; } public void setType(String type) { this.type = type; } @Override public boolean equals(Object obj) { return EqualsBuilder.reflectionEquals(this, obj); } @Override public int hashCode() { return HashCodeBuilder.reflectionHashCode(this); } @Override public String toString() { return ReflectionToStringBuilder.toString(this); } }
今回のサンプルでは、Map<Strng, Cat>というデータ型で、2件しか入れていませんが、キーに対して検索が出来ていることが分かります。
Java apache commons StrSubstitutor サンプルプログラム
StrSubstitutorの説明(google翻訳) 文字列内の変数を値で置き換えます。 このクラスはテキストを取り込み、その中のすべての変数を代入します。変数のデフォルト定義は$ {variableName}です。プレフィックスと接尾辞はコンストラクタとメソッドを使って変更できます。 変数値は、
Java apache commons StrMatcher サンプルプログラム
StrMatcherの説明(google翻訳) 文字配列部分が一致するかどうかを調べるために照会できるmatcherクラス。 このクラスには、さまざまなファクトリメソッドが用意されています。これらが十分でない場合は、独自のマッチャーをサブクラス化して実装できます。 シングルクォートやダブルクォート、
Java apache commons StrLookup サンプルプログラム
StrLookupの説明(google翻訳) 文字列キーを文字列値にルックアップします。 このクラスは、最も簡単な形式の文字列から文字列へのマップを表します。それは、キーに基づいてオンデマンドで結果を作成できるという点で、マップよりも利点があります。 このクラスには、さまざまなファクトリメソッドが用
Java apache commons StrBuilder サンプルプログラム
StrBuilderの説明(google翻訳) StringBufferよりも柔軟で強力なAPIを提供する構成部分から文字列を作成します。 StringBuffer / StringBuilderとの主な相違点は次のとおりです。 同期されていない 最終的ではない サブクラスは文字配列に直接アクセスで
Java apache commons ExtendedMessageFormat サンプルプログラム
ExtendedMessageFormatの説明(google翻訳) java.text.MessageFormatを拡張し、埋め込みフォーマット要素のプラグイン可能/追加の書式設定オプションを許可します。クライアントコードは、String形式名に関連付けられたFormatFactoryインスタンス
Java apache commons MethodUtils サンプルプログラム
MethodUtilsの説明(google翻訳) もともとコモンズBeanUtilsのメソッドに焦点を当てたユーティリティリフレクションメソッド。 BeanUtilsのバージョンとの違いは、特にLang内にすでに存在する機能が類似している場合には、注意が必要です。 既知の制限事項 デフォルトアクセス
Java apache commons InheritanceUtils サンプルプログラム
InheritanceUtilsの説明(google翻訳) 継承に焦点を当てたユーティリティメソッド。 継承階層を取得するためのユーティリティーです。 インターフェースは含まれず、extendsされているものだけの階層数を返すメソッドのみがあります。 継承関係がなければ、-1を返します。 Inher
Java apache commons FieldUtils サンプルプログラム
FieldUtilsの説明(google翻訳) リフレクションによるフィールドとの作業のためのユーティリティ。休止状態のCommonsサンドボックスコンポーネントから適応され、リファクタリングされました。 プログラマーによってコード化された有効範囲制限を解除する機能が提供されています。これにより、フ
Java apache commons ConstructorUtils サンプルプログラム
ConstructorUtilsの説明(google翻訳) MethodUtilsの後にモデル化されたコンストラクタに焦点を当てたユーティリティリフレクションメソッド。 既知の制限事項 デフォルトアクセススーパークラスでのパブリックコンストラクタへのアクセス デフォルトのアクセススーパークラスに含ま
Java apache commons ToStringBuilder サンプルプログラム
ToStringBuilderの説明(google翻訳) Object.toString()メソッドの実装を支援します。 このクラスを使用すると、任意のクラスまたはオブジェクトに対して良好で一貫したtoString()を構築できます。このクラスは、次の方法でプロセスを簡素化することを目的としています