質問

条件を表現および操作するためにいくつかのクラスが必要な場合があります(通常UIで、ユーザーが異なる条件タイプを組み合わせてクエリを作成すると、コードはクエリ対象のシステムに応じて変換できます) luceneおよびdb)。再利用可能なクラスのセットを検索しましたが、これは多くの既存の場所(初心者向けのすべての表現言語)で使用する必要があると確信していますが、簡単に使用できるものは見つかりませんでした。私は両方とも自分でコーディングすることになりましたが、存在するはずの何かを再利用しないことに気分が悪くなりました。

典型的なニーズは次のとおりです。  -複数の演算子:andまたはetc  -可変数のオペランド  -条件を組み合わせて式を作成する  -式のシリアル化  -文字列から/への式の解析/フォーマット

誰かがそのようなものを見つけましたか?

役に立ちましたか?

解決

Apache Commons Functor をご覧ください。例えば。 UnaryPredicate UnaryAnd UnaryOr など。 -in実装はSerializableですが、文字列からの解析については知りません。それでも、あなたが望むものへの非常に良いスタートだと思います。また、このIBMチュートリアルもご覧ください。ライブラリ。

他のヒント

ファンクター(別名関数オブジェクト)を探しているようです。 その場合、この SOの質問が関連しますが、うん選択肢:Commons functor(前述)は1つの選択肢ですが、他にもあります。

すべてのファンクターライブラリには、フレームワーク(非常にシンプルです;単項、バイナリ述語、それらのマッピング機能、連鎖による結合)および最も一般的に必要な基本的な関数セットが付属しています。

Hibernateのようなものを探しているようです。基準API 。欠点は、データベースに縛られているか、特定の永続フレームワークの実装がさらに悪いことです。また、すべての要件をカバーしているわけではないので、これは良い選択ではないと思います...

ANTLR をご覧ください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top