JRule

[ ダウンロード | How to use JRule ]

JRuleとは?

JRuleはJavaで実装されたビジネスルールエンジンです。 XMLの定義ファイルでビジネスルールを設定します。利用者は特定のクラスに適用されるビジネスルールをルールエンジンに照会することができ、VM内で動的なビジネスルールの組換え、削除、追加をすることができます。

ダウンロード

Version1.0 APLHA2

How to use JRule

インストール

以下のライブラリをクラスパスに追加する必要があります。

jakarta-commons-beanutils
jakarta-commons-collections
jakarta-commons-lang
jakarta-commons-logging
jakarta-oro

またDOM2.0に対応したXMLパーサが必要です。

設定ファイルの記述

設定ファイルのサンプル

<?xml version="1.0" encoding="Windows-31J"?>
<repository>
<class name="jp.sourceforge.jrule.User">
<property name="id">
<maxLength value="10" message="ユーザーIDは10文字以下でなくてはなりません。" />
</property>
<property name="name">
<maxLength value="10" />
</property>
<property name="password">
<notNull />
<betweenLength from="0" to="255" />
<pattern value="[0-9|a-z|A-Z]*" message="パスワードは英数字で構築されなくてはなりません。" />
</property>
</class>
</repository>

sample code

RuleParser parser = new RuleParser();
RuleRepository repository =
parser.parse(new FileInputStream("src/conf/rule.xml"));
User user = new User();
user.setId("01234567");
user.setPassword("01234567");

//full class test
repository.test(user);
//property test
repository.test(user, "password");

標準で利用できるタグの一覧

タグ 適用クラス タグ属性 説明
notNull Object   nullで無いかどうかをテストします。
notEmpty Object/String   nullで無いかどうかをテストします。String型であるときはさらに長さが1に満たないかどうかテストします。
betweenLength String from
to
文字列の長さが{from}以上{to}以下であるかどうかテストします。
equalsLength String value 文字列の長さが{value}であるかどうかテストします。
maxLength String value 文字列の長さが{maxLength}以下であるかどうかテストします。
minLength String value 文字列の長さが{maxLength}以上であるかどうかテストします。
pattern String value 文字列が{value}で与えられた正規表現にマッチするかどうかテストします。
利用可能な正規表現はjakarta-oroのドキュメントを参照してください。
betweenNumber Number from
to
数値の長さが{from}以上{to}以下であるかどうかテストします。
equalsNumber Number value 数値が{value}であるかどうかテストします。
maxNumber Number value 数値が{maxLength}以下であるかどうかテストします。
minNumber Number value 数値が{maxLength}以上であるかどうかテストします。
cardinality 配列/Map/
Collection
from
to
配列/Map/Collectionの大きさが{from}以上{to}以下であるかどうかテストします。

 

SourceForge.jp