プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Business Process Managementによるビジネス・ルールの設計
12c (12.1.3)
E57557-04
目次へ移動
目次

前
次

B Oracle Business Rulesの組込みクラスと関数

この付録では、テキスト文字列、リスト、数値、日付などを格納したデータを判断するのに役立つOracle Business Rules (OBR)組込みクラス、メソッド、関数の拡張ライブラリについて説明します。

ここには複数の表が用意されていますが、これらの表の各行には種類の列があります。この列にはClCoMsMPsPのいずれかが記載されており、これらはクラス、コンストラクタ、メソッド、静的メソッド、プロパティ、静的プロパティ(Javaの静的な最終フィールド)をそれぞれ表しています。各表の最初の行ではクラスを指定しています。Java名がOBR名(ルールSDKでは別名と呼びます)と同じ場合は、「-」が表示されます。署名の列では、メソッド、関数、プロパティの型情報が提供されています。プロパティの署名とは、実際には型のことです(たとえば、BigDecimal)。メソッドや関数の署名は、return(arg1,arg2,...)という形式になります。このreturnは戻り型で、arg1,arg2,...は引数の型です。

この付録の内容は次のとおりです。

B.1 文字列のクラス

この項では、Oracle Business Rulesで提供される文字列関連のクラスについて説明します。

表B-1に、Stringクラスを示します。

表B-1 Oracle Business Rulesで提供される文字列関連のクラス

OBR名 種類 署名 Java名 説明 参照

String

Cl

-

java.lang.String

Javaの不変文字列。文字列内の文字に対して、Javaではゼロベースの索引付けを使用しますが、XMLでは1ベースの索引付けを使用します。

http://java.sun.com/javase/6/docs/api/java/lang/String.html

charAt

S

char(int)

-

ゼロベース索引arg1のchar値を戻します。"Oracle".charAt(2)=='a'

http://java.sun.com/javase/6/docs/api/java/lang/String.html#charAt%28int%29

compareTo

M

int(String)

-

引数の文字列がこの文字列と同じ場合は値0、この文字列が文字列の引数より辞書順で小さい場合は0未満の値、この文字列が文字列の引数より辞書順で大きい場合は0より大きい値が返されます。"a".compareTo("b")<0

http://java.sun.com/javase/6/docs/api/java/lang/String.html#compareTo%28java.lang.String%29

contains

M

boolean(String)

-

この文字列がarg1を含むかどうかテストします。"Oracle".contains("rac")==true

http://java.sun.com/javase/6/docs/api/java/lang/String.html#contains%28java.lang.CharSequence%29

endsWith

M

boolean(String)

-

この文字列の末尾がarg1かどうかテストします。"Oracle".endsWith("le")==true

http://java.sun.com/javase/6/docs/api/java/lang/String.html#endsWith%28java.lang.String%29

equalsIgnoreCase

M

boolean(String)

-

この文字列がarg1と同じかどうかテストします。大文字小文字の区別は無視されます。"Oracle".equalsIgnoreCase("oRaClE")==true

http://java.sun.com/javase/6/docs/api/java/lang/String.html#equalsIgnoreCase%28java.lang.String%29

indexOf

M

int(String,int)

-

この文字列(String)内のarg1の開始位置のゼロベース索引が返されます(ただしゼロベース索引arg2より前ではないものです)。"banana".indexOf("an",2)==3

http://java.sun.com/javase/6/docs/api/java/lang/String.html#indexOf%28java.lang.String,%20int%29

lastIndexOf

M

int(String,int)

-

この文字列内でarg1が最後に出現した位置のゼロベース索引を戻します。索引arg2から開始して後方検索します。"banana".lastIndexOf("an","banana".length())==3

http://java.sun.com/javase/6/docs/api/java/lang/String.html#lastIndexOf%28java.lang.String,%20int%29

length

M

int

-

この文字列の長さを戻します。"Oracle".length()==6

http://java.sun.com/javase/6/docs/api/java/lang/String.html#length%28%29

matches

M

boolean(String)

-

この文字列が指定された正規表現と一致するかどうかテストします。"banana".matches("^b.*a$")==true

http://java.sun.com/javase/6/docs/api/java/lang/String.html#matches%28java.lang.String%29

replaceAll

M

String(String,String)

-

この文字列内でarg1(正規表現)と一致する部分文字列を、それぞれarg2に置き換えます。"banana".replaceAll(".a","xo")=="xoxoxo"

http://java.sun.com/javase/6/docs/api/java/lang/String.html#replaceAll%28java.lang.String,%20java.lang.String%29

replaceFirst

M

String(String,String)

-

この文字列の、arg1(正規表現)と一致する最初の部分文字列を、arg2に置き換えます。"banana".replaceFirst(".a","xo")=="xonana"

http://java.sun.com/javase/6/docs/api/java/lang/String.html#replaceFirst%28java.lang.String,%20java.lang.String%29

startsWith

M

boolean(String)

-

この文字列がarg1で始まるかどうかテストします。"Oracle".startsWith("Or")==true

http://java.sun.com/javase/6/docs/api/java/lang/String.html#startsWith%28java.lang.String%29

substring

M

String(int,int)

-

この文字列の、ゼロベース索引arg1で始まりゼロベース索引arg2の前で終わる部分文字列を戻します。"Oracle".substring(1,4)=="rac"

http://java.sun.com/javase/6/docs/api/java/lang/String.html#substring%28int,%20int%29

toLowerCase

M

String()

-

この文字列を小文字に変換します。"Oracle".toLowerCase()=="oracle"

http://java.sun.com/javase/6/docs/api/java/lang/String.html#toLowerCase%28%29

toUpperCase

M

String()

-

この文字列を大文字に変換します。"Oracle".toUpperCase()=="ORACLE"

http://java.sun.com/javase/6/docs/api/java/lang/String.html#toUpperCase%28%29

trim

M

String()

-

先頭および末尾の空白を削除します。"Oracle ".trim()=="Oracle"

http://java.sun.com/javase/6/docs/api/java/lang/String.html#trim%28%29

表B-2に、RLクラスの文字列のメソッドを示します。

表B-2 RLクラスの文字列のメソッド

OBR名 種類 署名 Java名 説明 参照

RL

Cl

-

oracle.rules.rl.extensions.RL

標準のJavaクラスにW3C RIF機能を補足します。

http://www.w3.org/TR/rif-dtb/

string.join

sM

String(String...)

stringJoin

最後の引数をセパレータとして、最初からn-1個の引数を連結します。RL.string.join("a","b","c","#")=="a#b#c"

http://www.w3.org/TR/rif-dtb/#func:string-join

string.substring

sM

String(String,int,int)

substring

arg1の部分文字列で、1ベース索引arg2で始まりarg3の数だけ続く部分を戻します。RL.string.substring("Oracle",2,3)=="rac"

http://www.w3.org/TR/rif-dtb/#func:substring

string.suffix

sM

String(String,int)

substring

1ベース索引arg2から始まる、arg1の接尾辞を戻します。RL.string.suffix("Oracle",5)=="le"

http://www.w3.org/TR/rif-dtb/#func:substring

string.substring before

sM

String(String,String)

substringBefore

arg2の前に出現するarg1の部分文字列を戻します。RL.string.substring before("Oracle","ac")=="Or"

http://www.w3.org/TR/rif-dtb/#func:substring-before

string.substring after

sM

String(String,String)

substringAfter

arg2の後に出現するarg1の部分文字列を戻します。RL.string.substring after("Oracle","ac")=="le"

http://www.w3.org/TR/rif-dtb/#func:substring-after

string.iri.encode path

sM

String(String)

encodeForURI

URIパスで許可されていない文字をエンコードします。RL.string.iri encode path("Oracle Business Rules")=="Oracle%20Business%20Rules"

http://www.w3.org/TR/rif-dtb/#func:encode-for-uri

string.iri.to uri

sM

String(String)

iriToUri

URIで許可されていない一部の文字をエンコードします。RL.string.iri to uri("http://www.example.com/~bébé")=="http://www.example.com/~b%C3%A9b%C3%A9"

http://www.w3.org/TR/rif-dtb/#func:iri-to-uri

string.iri.to ascii

sM

String(String)

escapeHtmlUri

非ASCII文字をエンコードします。RL.string.iri to ascii("javascript:if (navigator.browserLanguage == 'fr') window.open('http://www.example.com/~bébé');")=="javascript:if (navigator.browserLanguage == 'fr') window.open('http://www.example.com/~b%C3%A9b%C3%A9');"

http://www.w3.org/TR/rif-dtb/#func:escape-html-uri

string.is normalized

sM

boolean(String)

isNormalizedString

正規化された文字列には改行(#xD)、行送り(#xA)、タブ(#x9)の文字は含まれません。RL.string.is normalized(" Business Rules ")==true

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

string.is token

sM

boolean(String)

isToken

トークンは正規化された文字列で、先頭または末尾に空白は含まれず、ダブル・スペースも含まれません。RL.string.is token("Business Rules")==true

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

string.is language

sM

boolean(String)

isLanguage

言語識別子。RL.string.is language("en")==true

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

string.is Name

sM

boolean(String)

isName

名前はトークンで、スペースを(文字に対するその他いくつかの制約も)含みません。RL.string.is Name("xs:Name")==true

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

string.is NCName

sM

boolean(String)

isNCName

コロンを含まない名前。RL.string.is NCName("xs:NCName")==false

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

string.is NMTOKEN

sM

boolean(String)

isNMTOKEN

NMTOKENは、最初の文字に何も制約がない名前です。RL.string.is NMTOKEN("-Oracle")==true

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

string.compare

sM

int(String,String)

compare

arg1<arg2の場合は-1、arg1==arg2の場合は0、arg1>arg2の場合は1をそれぞれ戻します。RL.string.compare("foo","bar")==1.

http://www.w3.org/TR/rif-dtb/#func:compare_.28adapted_from_fn:compare.29

B.2 リストのクラス

この項では、Oracle Business Rulesで提供されるリストのクラスについて説明します。

表B-3に、Listクラスを示します。

表B-3 Listクラスの表

OBR名 種類 署名 Java名 説明 参照

List

Cl

-

java.util.List

可変および不変のリストを表します。リストではゼロベース索引を使用します。不変リストを変更しようとすると、UnsupportedOperationExceptionsが発生する場合があります。

http://java.sun.com/javase/6/docs/api/java/util/List.html

append

M

void(Object)

add

このリストにarg1を追加します。このリストを変更します。

http://java.sun.com/javase/6/docs/api/java/util/List.html#add(E)

add

M

void(int,Object)

-

このリストのarg1の位置にarg2を挿入します。このリストを変更します。

http://java.sun.com/javase/6/docs/api/java/util/List.html#add(int,%20E)

appendAll

M

void(java.util.Collection)

addAll

arg1の内容をこのリストに追加します。このリストを変更します。

http://java.sun.com/javase/6/docs/api/java/util/List.html#addAll(java.util.Collection)

addAll

M

void(int,java.util.Collection)

-

このリストのarg1の位置にarg2の内容を挿入します。このリストを変更します。

http://java.sun.com/javase/6/docs/api/java/util/List.html#addAll(int,%20java.util.Collection)

clear

M

void()

-

このリストの内容を削除します。このリストを変更します。

http://java.sun.com/javase/6/docs/api/java/util/List.html#clear()

contains

M

boolean(Object)

-

このリストがarg1を含むかどうかテストします。RL.list.create(1,2,3).contains(2)==true

http://java.sun.com/javase/6/docs/api/java/util/List.html#contains(java.lang.Object)

containsAll

M

boolean(java.util.Collection)

-

このリストがarg1のすべての要素を含むかどうかテストします。RL.list.create(1,2,3).containsAll(RL.list.create(3,2,1))==true

http://java.sun.com/javase/6/docs/api/java/util/List.html#containsAll(java.util.Collection)

get

M

Object(int)

-

arg1の位置の要素を取得します。RL.list.create(1,2,3).get(1)==2

http://java.sun.com/javase/6/docs/api/java/util/List.html#get(int)

indexOf

M

int(Object)

-

このリストのarg1の最初の索引を戻します。RL.list.create(1,2,3).indexOf(2)==1

http://java.sun.com/javase/6/docs/api/java/util/List.html#indexOf(java.lang.Object)

remove

M

boolean(Object)

-

最初に出現するarg1をこのリストから削除します。このリストが変更されたかどうかを戻します。

http://java.sun.com/javase/6/docs/api/java/util/List.html#remove(java.lang.Object)

remove by index

M

Object(int)

remove

arg1の位置の要素を削除して戻します。このリストを変更します。

http://java.sun.com/javase/6/docs/api/java/util/List.html#remove(int)

removeAll

M

boolean(java.util.Collection)

-

arg1に含まれるすべての要素をこのリストから削除します。このリストが変更されたかどうかを戻します。

http://java.sun.com/javase/6/docs/api/java/util/List.html#removeAll(java.util.Collection)

retainAll

M

boolean(java.util.Collection)

-

arg1に含まれ「ない」すべての要素をこのリストから削除します。このリストが変更されたかどうかを戻します。

http://java.sun.com/javase/6/docs/api/java/util/List.html#retainAll(java.util.Collection)

set

M

Object(int,Object)

-

このリストのarg1の位置のアイテムをarg2で置き換えます。置き換えられたアイテムを戻します。このリストを変更します。

http://java.sun.com/javase/6/docs/api/java/util/List.html#set(int,%20E)

size

M

int()

-

このリストのサイズを戻します。RL.list.create(1,2,3).size()==3

http://java.sun.com/javase/6/docs/api/java/util/List.html#size()

subList

M

List(int,int)

-

このリストの、arg1(を含む)からarg2(を含まない)の間の部分のビューを戻します。RL.list.create(1,2,3,4).subList(1,3)==RL.list.create(2,3)

http://java.sun.com/javase/6/docs/api/java/util/List.html#subList(int,%20int)

表B-4に、RLクラスのリストのメソッドを示します。

表B-4 RLクラスのリストのメソッドの表

OBR名 種類 署名 Java名 説明 参照

RL

Cl

-

oracle.rules.rl.extensions.RL

-

-

list.append

sM

List(List,Object...)

append

arg1、arg2、arg3 ...の順にその内容を含む新しい不変リストを戻します。RL.list.append(RL.list.create(1),2,3)==RL.list.create(1,2,3)

http://www.w3.org/TR/rif-dtb/#func:append

list.concatenate

sM

List(List...)

concatenate

arg1、arg2 ...の連結を含む新しい不変リストを戻します。RL.list.concatenate(RL.list.create(1),RL.list.create(2))==RL.list.create(1,2)

http://www.w3.org/TR/rif-dtb/#func:concatenate

list.distinct values

sM

List(List)

distinctValues

arg1のような新しい不変リストを戻しますが、重複は削除されます。RL.list.distinct values(RL.list.create(2,2))==RL.list.create(2)

http://www.w3.org/TR/rif-dtb/#func:distinct-values

list.except

sM

List(List,List)

except

arg2には含まれていないarg1の要素を含む新しい不変リストを戻します。RL.list.except(RL.list.create(1,2,3,4),RL.list.create(1,3))==RL.list.create(2,4)

http://www.w3.org/TR/rif-dtb/#func:except

list.get

sM

Object(List,int)

get

arg1の中のarg2の位置の要素を戻します。arg2<0の場合、arg1.size()+arg2の位置の要素を戻します。RL.list.get(RL.list.create(1,2,3),-1)==3

http://www.w3.org/TR/rif-dtb/#func:get

list.index of

sM

List<Integer>(List,Object)

indexOf

arg1においてarg2が出現する索引のリストを戻します。RL.list.index of(RL.list.create(1,2,3,2),2)==RL.list.create(1,3)

http://www.w3.org/TR/rif-dtb/#func:index-of

list.insert before

sM

List(List,int,Object)

insertBefore

arg2の位置のアイテムの前にarg3が挿入された状態で、arg1を含むリストの新しい不変リストを戻します。arg2<0の場合、arg3はarg1.size()+arg2の位置の要素の前に挿入されます。RL.list.insert before(RL.list.create(1,2,3),-1,99)==RL.list.create(1,2,99,3)

http://www.w3.org/TR/rif-dtb/#func:insert-before

list.intersect

sM

List(List,List)

intersect

arg1とarg2の共通部分を含む新しい不変リストを戻します。RL.list.intersect(RL.list.create(1,2,3),RL.list.create(3,1))==RL.list.create(1,3)

http://www.w3.org/TR/rif-dtb/#func:intersect

list.create

sM

List(Object...)

リスト

引数を含む新しい不変リストを戻します。

http://www.w3.org/TR/rif-dtb/#func:make-list

list.remove

sM

List(List,int)

remove

arg2の位置の要素が削除された状態で、arg1の要素を含む新しい不変リストを戻します。arg2<0の場合、arg1.size()+arg2の位置の要素が削除されます。RL.list.remove(RL.list.create(1,2,3),0)==RL.list.create(2,3)

http://www.w3.org/TR/rif-dtb/#func:remove

list.reverse

sM

List(List)

reverse

arg1の要素が逆の順序で含まれる新しい不変リストを戻します。RL.list.reverse(RL.list.create(1,2,3))==RL.list.create(3,2,1)

http://www.w3.org/TR/rif-dtb/#func:reverse

list.union

sM

List(List)

union

重複が削除された状態で、引数の連結を含む新しい不変リストが返されます。RL.list.union(RL.list.create(1,2),RL.list.create(2,3))==RL.list.create(1,2,3)

http://www.w3.org/TR/rif-dtb/#func:union

B.3 数値のクラス

Oracle Business Rulesは、Javaのプリミティブ型の数値型であるbyteshortintlongfloatdoubleをサポートしています。

OBRは、「ボックス化」バージョンであるShortIntLongFloatDoubleもサポートしています。精度の制限がない整数および小数は、JavaクラスのBigIntegerおよびBigDecimalを使用してサポートされます。OBRは、すべての数値型に対して算術式(+-*/**)をサポートしています。たとえば、*bdBigDecimalである場合、単純にbd + 1と記述することで、1を追加できます。bd.add(BigDecimal.ONE)と記述する必要はありません。

表B-5に、Integerクラスを示します。

表B-5 Integerクラスの表

OBR名 種類 署名 Java名 説明 参照

Integer

Cl

-

java.lang.Integer

整数型オブジェクト。プリミティブ型の「int」と異なり、Integerはnullにすることも、リスト内に含むこともできます。

http://java.sun.com/javase/6/docs/api/java/lang/Integer.html

Integer

Co

Integer(int|String)

-

intまたはその字句表現から、Integerを文字列として作成します。new Integer(1)==new Integer("1")

http://java.sun.com/javase/6/docs/api/java/lang/Integer.html#Integer(int)

MIN_VALUE

sP

int

-

プリミティブ型のintで最も小さい値。Integer.MIN_VALUE<0

http://java.sun.com/javase/6/docs/api/java/lang/Integer.html#MIN_VALUE

MAX_VALUE

sP

int

-

プリミティブ型のintで最も大きい値。Integer.MAX_VALUE>0

http://java.sun.com/javase/6/docs/api/java/lang/Integer.html#MAX_VALUE

intValue

M

int()

-

このIntegerをintに変換します。new Integer(1).intValue()==1

http://java.sun.com/javase/6/docs/api/java/lang/Integer.html#intValue()

toString

M

String()

-

このIntegerをその字句表現に変換します。new Integer(1).toString()=="1"

http://java.sun.com/javase/6/docs/api/java/lang/Integer.html#toString()

表B-6に、Longクラスを示します。

表B-6 Longクラスの表

OBR名 種類 署名 Java名 説明 参照

Long

Cl

-

java.lang.Long

長整数型オブジェクト。プリミティブ型の「long」と異なり、Longはnullにすることも、リスト内に含むこともできます。

http://java.sun.com/javase/6/docs/api/java/lang/Long.html

Long

Co

Long(long|String)

-

longまたはその字句表現から、Longを文字列として作成します。new Long(1)==new Long("1")

http://java.sun.com/javase/6/docs/api/java/lang/Long.html#Long(long)

MIN_VALUE

sP

long

-

プリミティブ型のlongで最も小さい値。Long.MIN_VALUE<0

http://java.sun.com/javase/6/docs/api/java/lang/Long.html#MIN_VALUE

MAX_VALUE

sP

long

-

プリミティブ型のlongで最も大きい値。Long.MAX_VALUE>0

http://java.sun.com/javase/6/docs/api/java/lang/Long.html#MAX_VALUE

longValue

M

long()

-

このLongをlongに変換します。new Long(1).longValue()==1

http://java.sun.com/javase/6/docs/api/java/lang/Long.html#longValue()

toString

M

String()

-

このLongをその字句表現に変換します。new Long(1).toString()=="1"

http://java.sun.com/javase/6/docs/api/java/lang/Long.html#toString()

表B-7に、Shortクラスを示します。

表B-7 Shortクラスの表

OBR名 種類 署名 Java名 説明 参照

Short

Cl

-

java.lang.Short

短整数型オブジェクト。プリミティブ型の「short」と異なり、Shortはnullにすることも、リスト内に含むこともできます。

http://java.sun.com/javase/6/docs/api/java/lang/Short.html

Short

Co

Short(short|String)

-

shortまたはその字句表現から、Shortを文字列として作成します。new Short(1)==new Short("1")

http://java.sun.com/javase/6/docs/api/java/lang/Short.html#Short(short)

MIN_VALUE

sP

short

-

プリミティブ型のshortで最も小さい値。Short.MIN_VALUE<0.

http://java.sun.com/javase/6/docs/api/java/lang/Short.html#MIN_VALUE

MAX_VALUE

sP

short

-

プリミティブ型のshortで最も大きい値。Short.MAX_VALUE>0.

http://java.sun.com/javase/6/docs/api/java/lang/Short.html#MAX_VALUE

shortValue

M

short()

-

このShortをshortに変換します。new Short(-1).shortValue()==-1

http://java.sun.com/javase/6/docs/api/java/lang/Short.html#shortValue()

toString

M

String()

-

このShortをその字句表現に変換します。new Short(-1).toString()=="-1"

http://java.sun.com/javase/6/docs/api/java/lang/Short.html#toString()

表B-8に、Floatクラスを示します。

表B-8 Floatクラスの表

OBR名 種類 署名 Java名 説明 参照

Float

Cl

-

java.lang.Float

浮動小数型オブジェクト。プリミティブ型の「float」と異なり、Floatはnullにすることも、リスト内に含むこともできます。

http://java.sun.com/javase/6/docs/api/java/lang/Float.html

Float

Co

Float(float|double|String)

-

float、doubleまたはその字句表現から、Floatを文字列として作成します。new Float(1.1)==new Float("1.1")

http://java.sun.com/javase/6/docs/api/java/lang/Float.html#Float(float)

infinite

P

boolean

-

このFloatの値は無限大です。new Float(Float.NEGATIVE_INFINITY).infinite==true

http://java.sun.com/javase/6/docs/api/java/lang/Float.html#isInfinite()

naN

P

boolean

-

このFloatの値は数値ではありません。new Float(Float.NaN).naN==true

http://java.sun.com/javase/6/docs/api/java/lang/Float.html#isNaN()()

NaN

sP

float

-

「数値でない」ことを表す値。

http://java.sun.com/javase/6/docs/api/java/lang/Float.html#NaN

NEGATIVE_INFINITY

sP

float

-

負の無限大を表す値。

http://java.sun.com/javase/6/docs/api/java/lang/Float.html#NEGATIVE_INFINITY

POSITIVE_INFINITY

sP

float

-

正の無限大を表す値。

http://java.sun.com/javase/6/docs/api/java/lang/Float.html#POSITIVE_INFINITY

floatValue

M

float()

-

このFloatをfloatに変換します。new Float(1.1f).floatValue()==1.1f

http://java.sun.com/javase/6/docs/api/java/lang/Float.html#floatValue()

toString

M

String()

-

このFloatをその字句表現に変換します。new Float(1.1f).toString()=="1.1"

http://java.sun.com/javase/6/docs/api/java/lang/Float.html#toString()

表B-9に、Doubleクラスを示します。

表B-9 Doubleクラスの表

OBR名 種類 署名 Java名 説明 参照

Double

Cl

-

java.lang.Double

Double型オブジェクト。プリミティブ型の「double」と異なり、Doubleはnullにすることも、リスト内に含むこともできます。

http://java.sun.com/javase/6/docs/api/java/lang/Double.html

Double

Co

Double(double|String)

-

doubleまたはその字句表現から、Doubleを文字列として作成します。new Double(1.1)==new Double("1.1")

http://java.sun.com/javase/6/docs/api/java/lang/Double.html#Double(double)

infinite

P

boolean

-

このDoubleの値は無限大です。new Float(Float.POSITIVE_INFINITY).infinite==true

http://java.sun.com/javase/6/docs/api/java/lang/Double.html#isInfinite()

naN

P

boolean

-

このDoubleの値は数値ではありません。new Double(double.NaN).naN==true

http://java.sun.com/javase/6/docs/api/java/lang/Double.html#isNaN()

NaN

sP

double

-

「数値でない」ことを表す値。

http://java.sun.com/javase/6/docs/api/java/lang/Double.html#NaN

NEGATIVE_INFINITY

sP

double

-

負の無限大を表す値。

http://java.sun.com/javase/6/docs/api/java/lang/Double.html#NEGATIVE_INFINITY

POSITIVE_INFINITY

sP

double

-

正の無限大を表す値。

http://java.sun.com/javase/6/docs/api/java/lang/Double.html#POSITIVE_INFINITY

doubleValue

M

double()

-

このDoubleをdoubleに変換します。new Double(1.1).doubleValue()==1.1

http://java.sun.com/javase/6/docs/api/java/lang/Double.html#doubleValue()

toString

M

String()

-

このDoubleをその字句表現に変換します。new Double(1.1).toString()=="1.1"

http://java.sun.com/javase/6/docs/api/java/lang/Double.html#toString()

表B-10に、BigIntegerクラスを示します。

表B-10 BigIntegerクラスの表

OBR名 種類 署名 Java名 説明 参照

BigInteger

Cl

-

java.math.BigInteger

不変の任意精度の整数。

http://java.sun.com/javase/6/docs/api/java/math/BigInteger.html

BigInteger

Co

BigInteger(String)

-

BigIntegerをその字句表現から文字列として作成します。as a String. new BigInteger("1")==1

http://java.sun.com/javase/6/docs/api/java/math/BigInteger.html#BigInteger(java.lang.String)

doubleValue

M

double()

-

このBigIntegerをdoubleに変換します。精度が失われる場合があります。new BigInteger("1").doubleValue()==1.0

http://java.sun.com/javase/6/docs/api/java/math/BigInteger.html#doubleValue()

longValue

M

long()

-

このBigIntegerをlongに変換します。精度が失われる場合があります。new BigInteger("1").longValue()==1L

http://java.sun.com/javase/6/docs/api/java/math/BigInteger.html#longValue()

max

M

BigInteger(BigInteger)

-

これとarg1のうち大きい方を戻します。new BigInteger("1").max(2)==2

http://java.sun.com/javase/6/docs/api/java/math/BigInteger.html#max(java.math.BigInteger)

min

M

BigInteger(BigInteger)

-

これとarg1のうち小さい方を戻します。new BigInteger("1").min(2)==1

http://java.sun.com/javase/6/docs/api/java/math/BigInteger.html#min(java.math.BigInteger)

toString

M

String()

-

このBigIntegerの字句表現を戻します。new BigInteger("123").toString()=="123"

http://java.sun.com/javase/6/docs/api/java/math/BigInteger.html#toString()

valueOf

sM

BigInteger(long)

-

arg1 (long)をBigIntegerに変換します。BigInteger.valueOf(123).toString()=="123"

http://java.sun.com/javase/6/docs/api/java/math/BigInteger.html#valueOf(long)

表B-11に、BigDecimalクラスを示します。

表B-11 BigDecimalクラスの表

OBR名 種類 署名 Java名 説明 参照

BigDecimal

Cl

-

java.math.BigDecimal

不変、任意精度の符号付き10進数。

http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html

BigDecimal

Co

BigDecimal(long|double|String)

-

long、doubleまたはその字句表現から、BigDecimalを文字列として作成します。new BigDecimal(1.1)==new BigDecimal("1.1")

http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#BigDecimal(java.lang.String)

BigDecimal

Co

BigDecimal(BigInteger,int)

-

BigIntegerのarg1およびスケールのarg2からBigDecimalを作成します。new BigDecimal(new BigInteger("123"),2)==1.23

http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#BigDecimal(java.math.BigInteger,%20int)

doubleValue

M

double()

-

このBigDecimalをdoubleに変換します。精度が失われる場合があります。new BigDecimal("0.1").doubleValue()==0.1

http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#doubleValue()

longValue

M

long()

-

このBigDecimalをlongに変換します。精度が失われる場合があります。new BigDecimal("0.1").longValue()==0L

http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#longValue()

max

M

BigDecimal(BigDecimal)

-

このBigDecimalとarg1のうち大きい方を戻します。new BigDecimal("0.1").max(0.2)==0.2

http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#max(java.math.BigDecimal)

min

M

BigDecimal(BigDecimal)

-

このBigDecimalとarg1のうち小さい方を戻します。new BigDecimal("0.1").min(0.2)==0.1

http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#min(java.math.BigDecimal)

scale

M

int()

-

スケール(小数点の右側の桁数)を戻します。new BigDecimal("1.00").scale()==2

http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#scale()

setScale

M

BigDecimal(int)

-

スケールを設定しますが、値は変更されません。new BigDecimal("1").setScale(2).toString()=="1.00"

http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#setScale(int)

toEngineeringString

M

String()

-

指数が必要な場合に、工学表記を使用してこのBigDecimalのリテラル表現を戻します。new BigDecimal("123E2").toEngineeringString()=="12.3E+3"

http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#toEngineeringString()

toPlainString

M

String

-

指数を使用せずにこのBigDecimalのリテラル表現を戻します。new BigDecimal("123E2").toPlainString()=="12300"

http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#toPlainString()

valueOf

sM

BigDecimal(long|double)

-

arg1 (longまたはdouble)をBigDecimalに変換します。new BigDecimal(1.3)==BigDecimal.valueOf(1.3)

http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#valueOf(double)

ROUND_UP

sP

int

-

divideで使用します。new BigDecimal("11").divide(2,BigDecimal.ROUND_UP)==6

http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#ROUND_UP

ROUND_DOWN

sP

int

-

divideで使用します。new BigDecimal("11").divide(2,BigDecimal.ROUND_DOWN)==5.

http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#ROUND_DOWN

divide

M

BigDecimal(BigDecimal,int)

-

これをarg1で除算した値を、このBigDecimalと同じスケールで戻します。結果のスケール内に納めるように丸めを実行する必要がある場合は、arg2 (ROUND_UPまたはROUND_DOWN)で示される丸めのモードを使用します。new BigDecimal("11").divide(2,BigDecimal.ROUND_UP)==6

http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#divide(java.math.BigDecimal,%20int)

表B-12に、Numberクラスを示します。

表B-12 Numberクラスの表

OBR名 種類 署名 Java名 説明 参照

Number

Cl

-

-

すべての数値の基本クラス(プリミティブ型を除く)。

http://java.sun.com/javase/6/docs/api/java/lang/Number.html

doubleValue

M

double()

-

この数値をdoubleに変換します。

http://java.sun.com/javase/6/docs/api/java/lang/Float.html#doubleValue()

floatValue

M

float()

-

この数値をfloatに変換します。

http://java.sun.com/javase/6/docs/api/java/lang/Float.html#floatValue()

intValue

M

int()

-

この数値をintに変換します。

http://java.sun.com/javase/6/docs/api/java/lang/Float.html#intValue()

longValue

M

long()

-

この数値をlongに変換します。

http://java.sun.com/javase/6/docs/api/java/lang/Float.html#longValue()

shortValue

M

short()

-

この数値をshortに変換します。

http://java.sun.com/javase/6/docs/api/java/lang/Float.html#shortValue()

表B-13に、RLクラスの数値のメソッドを示します。

表B-13 RLクラスの数値のメソッドの表

OBR名 種類 署名 Java名 説明 参照

RL

Cl

-

oracle.rules.rl.extensions.RL

-

-

number.is byte

sM

boolean(Number)

isByte

arg1は整数で、-128<=arg1<=127です。RL.numeric.is byte(200)==false

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

number.is short

sM

boolean(Number)

isShort

arg1は整数で、-32768<=arg1<=32767です。RL.numeric.is short(0.1)==false

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

number.is int

sM

boolean(Number)

isInt

arg1は整数で、-2147483648<=arg1<=2147483647です。RL.numeric.is int(-1000)==true

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

number.is long

sM

boolean(Number)

isLong

arg1は整数で、-9223372036854775808<=arg1<=9223372036854775807です。RL.numeric.is integer(new BigInteger("100")**100)==false

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

number.is integer

sM

boolean(Number)

isInteger

arg1は整数です。RL.numeric.is integer(new BigInteger("100")**100)==true

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

number.is decimal

sM

boolean(Number)

isDecimal

arg1はDoubleでもFloatでもありません。RL.numeric.is decimal(1.1)==false

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

number.is non-negative integer

sM

boolean(Number)

isNonNegativeInteger

arg1は整数で、arg1>=0です。RL.numeric.is non-negative integer(-1)==false

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

number.is negative integer

sM

boolean(Number)

isNegativeInteger

arg1は整数で、arg1<0です。RL.numeric.is negative integer(-1)==true

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

number.is non-positive integer

sM

boolean(Number)

isNonPositiveInteger

arg1は整数で、arg1<=0です。RL.numeric.is non-positive integer(-1)==true

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

number.is positive integer

sM

boolean(Number)

isPositiveInteger

arg1は整数で、arg1>0です。RL.numeric.is positive integer(-1)==false

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

number.is unsigned byte

sM

boolean(Number)

isUnsignedByte

arg1は整数で、0<=arg1<=255です。RL.numeric.is unsigned byte(200)==true

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

number.is unsigned short

sM

boolean(Number)

isUnsignedShort

arg1は整数で、0<=arg1<=65535です。RL.numeric.is unsigned short(0.1)==false

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

number.is unsigned int

sM

boolean(Number)

isUnsignedInt

arg1は整数で、0<=arg1<=4294967295です。RL.numeric.is unsigned int(-1000)==false

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

number.is unsigned long

sM

boolean(Number)

isUnsignedLong

arg1は整数で、0<=arg1<=18446744073709551615です。

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

B.4 時間と期間のクラス

この項では、Oracle Business Rulesで提供される時間と期間のクラスについて説明します。

表B-14に、Calendarクラスを示します。

表B-14 Calendarクラスの表

OBR名 種類 署名 Java名 説明 参照

Calendar

Cl

-

java.util.Calendar

Calendarは日時とタイムゾーンを表します。calendarインスタンスには、多数の可変整数フィールドがあります。add、get、isSet、roll、setの第1の引数は、フィールド番号です。このクラスでは、フィールド番号として使用する多数の静的プロパティを提供します。

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html

ERA

sP

int

-

Calendarの時代のフィールド番号。1はA.D.、0はB.C.です。((Calendar)"2010-02-01").get(Calendar.ERA)==1

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#ERA

YEAR

sP

int

-

Calendarの年のフィールド番号。((Calendar)"2010-02-01").get(Calendar.YEAR)==2010

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#YEAR

MONTH

sP

int

-

Calendarの月のフィールド番号。月はゼロベースです。((Calendar)"2010-02-01").get(Calendar.MONTH)==1

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#MONTH

WEEK_OF_YEAR

sP

int

-

Calendarの週のフィールド番号。((Calendar)"2010-02-01").get(Calendar.WEEK_OF_YEAR)==6

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#WEEK_OF_YEAR

DAY_OF_YEAR

sP

int

-

Calendarがその年の何日目かを示すフィールド番号。((Calendar)"2010-02-01").get(Calendar.DAY_OF_YEAR)==32

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#DAY_OF_YEAR

DAY_OF_MONTH

sP

int

-

Calendarがその月の何日目かを示すフィールド番号。((Calendar)"2010-02-01").get(Calendar.DAY_OF_MONTH)==1

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#DAY_OF_MONTH

DAY_OF_WEEK

sP

int

-

Calendarがその週の何日目かを示すフィールド番号。((Calendar)"2010-02-01").get(Calendar.DAY_OF_WEEK)==2

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#DAY_OF_WEEK

HOUR

sP

int

-

Calendarの時間のフィールド番号(12時間表示形式)。((Calendar)"2010-02-01T20:15:10").get(Calendar.HOUR)==8

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#HOUR

AM_PM

sP

int

-

CalendarのAM_PMフラグ。0はAM、1はPMです。((Calendar)"2010-02-01T20:15:10").get(Calendar.AM_PM)==1

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#AM_PM

HOUR_OF_DAY

sP

int

-

Calendarの時間のフィールド番号(24時間表示形式)。((Calendar)"20:15:10").get(Calendar.HOUR)==20

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#HOUR_OF_DAY

MINUTE

sP

int

-

Calendarの分のフィールド番号。JavaDate.from time string("20:15:10").get(Calendar.MINUTE)==15

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#MINUTE

SECOND

sP

int

-

Calendarの秒のフィールド番号。((Calendar)"20:15:10").get(Calendar.SECOND)==10

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#SECOND

ZONE_OFFSET

sP

int

-

タイムゾーンのフィールド番号。値は、GMTからのミリ秒単位のオフセットです。((Calendar)"20:15:10-05:30").get(Calendar.ZONE_OFFSET)==-(5*3600+30*60)*1000

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#ZONE_OFFSET

add

M

void(int,int)

add

arg2で指定した時間の長さをarg1で指定したカレンダ・フィールドに追加します。このCalendarを変更します。

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#add(int,%20int)

clear

M

void()

clear

このCalendarをクリアします(すべてのフィールドを設定解除します)。このCalendarを変更します。

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#clear()

get

M

int(int)

get

field numberフィールド番号arg1で指定されたフィールドの値を取得します。((Calendar)"20:15:10").get(Calendar.SECOND)==10

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#get(int)

getInstance

sM

Calendar()

getInstance

デフォルトのタイムゾーンとロケールで現在の時間に初期化されたカレンダを取得します。

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#getInstance()

roll

M

void(int,int)

roll

arg2で指定した時間の長さをarg1で指定したカレンダ・フィールドに追加します。その他のカレンダ・フィールドには影響しません。このCalendarを変更します。

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#roll(int,%20int)

set

M

void(int,int)

set

arg1で指定したカレンダ・フィールドをarg2で指定した値に設定します。このCalendarを変更します。

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#set(int,%20int)

time

P

java.util.Date

time

このCalendarの時間の値で表されるDateオブジェクトを戻します。((Calendar)"2010-02-01").time<((Calendar)"2010-02-02").time

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#getTime()

timeInMillis

P

long

timeInMillis

このCalendarの時間の値をミリ秒で戻します。((Calendar)"2010-02-01").timeInMillis<((Calendar)"2010-02-02").timeInMillis

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#getTimeInMillis()

表B-15に、JavaDateクラスを示します。

表B-15 JavaDateクラスの表

OBR名 種類 署名 Java名 説明 参照

JavaDate

Cl

-

oracle.rules. rl. extensions.JavaDate

Calendarを不変オブジェクトとして使用するためのヘルパー・クラス。Calendarを不変オブジェクトとして処理することでエラーを防止できます。

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html

add years to

sM

Calendar(Calendar, int)

addYearsTo

arg1よりもarg2の年数だけ後の新しいCalendarを戻します。JavaDate.add years to("2009-01-01",1)=="2010-01-01"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#addYearsTo_java_util_Calendar__int_

add months to

sM

Calendar(Calendar, int)

addMonthsTo

arg1よりもarg2の月数だけ後の新しいCalendarを戻します。JavaDate.add months to("2009-01-01",1)=="2009-02-01"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#addMonthsTo_java_util_Calendar__int_

add weeks to

sM

Calendar(Calendar,int)

addWeeksTo

arg1よりも7*arg2の日数だけ後の新しいCalendarを戻します。JavaDate.add weeks to("2009-01-01",1)=="2009-01-08"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#addWeeksTo_java_util_Calendar__int_

add days to

sM

Calendar(Calendar,int)

addDaysTo

arg1よりもarg2の日数だけ後の新しいCalendarを戻します。JavaDate.add days to("2009-01-01",1)=="2009-01-02"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#addDaysTo_java_util_Calendar__int_

add hours to

sM

Calendar(Calendar,int)

addHoursTo

arg1よりもarg2の時間数だけ後の新しいCalendarを戻します。JavaDate.add hours to("01:01:01",1)=="02:01:01"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#addHoursTo_java_util_Calendar__int_

add minutes to

sM

Calendar(Calendar,int)

addMinutesTo

arg1よりもarg2の分数だけ後の新しいCalendarを戻します。JavaDate.add minutes to("01:01:01",1)=="01:02:01"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#addMinutesTo_java_util_Calendar__int_

add seconds to

sM

Calendar(Calendar,int)

addSecondsTo

arg1よりもarg2の秒数だけ後の新しいCalendarを戻します。JavaDate.add seconds to("01:01:01",61)=="01:02:02"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#addSecondsTo_java_util_Calendar__int_

add milliseconds to

sM

Calendar(Calendar,int)

addMillisecondsTo

arg1よりもarg2のミリ秒数だけ後の新しいCalendarを戻します。JavaDate.add milliseconds to("01:01:01",61)=="01:01:01.061"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#addMillsecondsTo_java_util_Calendar__int_

add duration to

sM

Calendar(Calendar,XMLDuration)

addDurationTo

arg1よりもarg2の期間だけ後の新しいCalendarを戻します。JavaDate.add duration to("2009-12-30T23:59:00",Duration.from string("P1DT1M"))=="2010-01-01"

http://www.w3.org/TR/rif-dtb/#func:add-day TimeDuration-to-dateTime_.28adapted_from_op: add-dayTimeDuration-to-dateTime.29

http://www.w3.org/TR/rif-dtb/#func: add-yearMonthDuration-to-dateTime_.28adapted_from_op: add-yearMonthDuration-to-dateTime.29

from date string

sM

Calendar(String)

fromDateString

拡張型ISO 8601のdateリテラルでarg1のCalendarを作成します。拡張型ではYYYY-MM-DD@TimeZoneIdを使用できます。JavaDate.from date string("2010-02-06@PST")=="2010-02-06-08:00"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#fromDateString_java_lang_String_

from datetime string

sM

Calendar(String)

fromDateTimeString

拡張型ISO 8601のdatetimeリテラルでarg1のCalendarを作成します。拡張型ではYYYY-MM-DDTHH:MM:SS@TimeZoneIdを使用できます。JavaDate.from datetime string("2010-02-06T14:15:00@PST")=="2010-02-06T14:15:00-08:00"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#fromDateTimeString_java_lang_String_

from time string

sM

Calendar(String)

fromTimeString

拡張型ISO 8601のtimeリテラルでarg1のCalendarを作成します。拡張型ではHH:MM:SS@TimeZoneIdを使用できます。警告: Calendarのdate部分は現在の日付に初期化されます。JavaDate.from time string("14:15:00@PST")=="14:15:00-08:00"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#fromTimeString_java_lang_String_

subtract years from

sM

Calendar(Calendar,int)

subtractYearsFrom

arg1よりもarg2の年数だけ前の新しいCalendarを戻します。JavaDate.subtract years from("2009-01-01",1)=="2008-01-01"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#subtractYearsFrom_java_util_Calendar__int_

subtract months from

sM

Calendar(Calendar,int)

subtractMonthsFrom

arg1よりもarg2の月数だけ前の新しいCalendarを戻します。JavaDate.subtract months from("2009-01-01",1)=="2008-12-01"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#subtractMonthsFrom_java_util_Calendar__int_

subtract weeks from

sM

Calendar(Calendar,int)

subtractWeeksFrom

arg1よりも7*arg2の日数だけ前の新しいCalendarを戻します。JavaDate.subtract weeks from("2009-01-01",1)=="2008-12-25"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#subtractWeeksFrom_java_util_Calendar__int_

subtract days from

sM

Calendar(Calendar,int)

subtractDaysFrom

arg1よりもarg2の日数だけ前の新しいCalendarを戻します。JavaDate.subtract days from("2009-01-01",1)=="2008-12-31"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#subtractDaysFrom_java_util_Calendar__int_

subtract hours from

sM

Calendar(Calendar,int)

subtractHoursFrom

arg1よりもarg2の時間数だけ前の新しいCalendarを戻します。JavaDate.subtract hours from("01:01:01",1)=="00:01:01"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#subtractHoursFrom_java_util_Calendar__int_

subtract minutes from

sM

Calendar(Calendar,int)

subtractMinutesFrom

arg1よりもarg2の分数だけ前の新しいCalendarを戻します。JavaDate.subtract minutes from("01:01:01",1)=="01:00:01"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#subtractMinutesFrom_java_util_Calendar__int_

subtract seconds from

sM

Calendar(Calendar,int)

subtractSecondsFrom

arg1よりもarg2の秒数だけ前の新しいCalendarを戻します。JavaDate.subtract seconds from("01:01:01",61)=="01:00:00"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#subtractSecondsFrom_java_util_Calendar__int_

subtract milliseconds from

sM

Calendar(Calendar,int)

subtractMillisecondsFrom

arg1よりもarg2のミリ秒数だけ前の新しいCalendarを戻します。JavaDate.subtract milliseconds from("01:01:01",61)=="01:01:00.939"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#subtractMillisecondsFrom_java_util_Calendar__int_

subtract duration from

sM

Calendar(Calendar,XMLDuration)

subtractDurationFrom

arg1よりもarg2の期間だけ前の新しいCalendarを戻します。JavaDate.subtract duration from("2009-12-30T23:59:00",Duration.from string("P1DT1M"))=="20009-12-29T23:58:00"

http://www.w3.org/TR/rif-dtb/#func: add-dayTimeDuration-to-dateTime_.28adapted_from_op: subtract-dayTimeDuration-from-dateTime.29

http://www.w3.org/TR/rif-dtb/#func: subtract-yearMonthDuration-from-dateTime_.28adapted_from_op: add-yearMonthDuration-to-dateTime.29

to date string

sM

String(Calendar)

toDateString

arg1のISO 8601字句表現を戻します。timeコンポーネントは無視されます。JavaDate.to date string("2010-07-04T12:30:00Z")=="2010-07-04Z"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#toDateString_java_util_Calendar_

to datetime string

sM

String(Calendar)

toDateTimeString

arg1のISO 8601字句表現を戻します。JavaDate.to datetime string("2010-07-04T12:30:00Z")=="2010-07-04T12:30:00.000Z"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#toDateTimeString_java_util_Calendar_

to time string

sM

String(Calendar)

toTimeString

arg1のISO 8601字句表現を戻します。dateコンポーネントは無視されます。JavaDate.to time string("2010-07-04T12:30:00Z")=="12:30:00.000Z"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/JavaDate.html#toTimeString_java_util_Calendar_

表B-16に、XMLGregorianCalendarクラスを示します。

表B-16 XMLGregorianCalendarクラスの表

OBR名 種類 署名 Java名 説明 参照

XMLGregorianCalendar

Cl

-

javax.xml.datatype.XMLGregorianCalendar

W3C XMLスキーマ1.0の日付(date/time)データ型の表現。

http://java.sun.com/javase/6/docs/api/javax/xml/datatype/XMLGregorianCalendar.html

normalize

M

XMLGregorianCalendar()

-

このインスタンスをUTCに正規化します。XMLDate.from string("2000-03-04T23:00:00+03:00").normalize()==XMLDate.from string("2000-03-04T20:00:00Z")

http://java.sun.com/javase/6/docs/api/javax/xml/datatype/XMLGregorianCalendar.html#normalize()

toGregorianCalendar

M

java.util.GregorianCalendar()

-

このXMLGregorianCalendarをCalendar(のサブクラス)に変換します。XMLDate.from string("2010-02-03").toGregorianCalendar()==(Calendar)"2010-02-03"

http://java.sun.com/javase/6/docs/api/javax/xml/datatype/XMLGregorianCalendar.html#toGregorianCalendar()

year

P

int

-

このカレンダの年、またはInteger.MIN_VALUE(未定義の場合)。XMLDate.from string("2011-12-31").year==2011

http://java.sun.com/javase/6/docs/api/javax/xml/datatype/XMLGregorianCalendar.html#getYear()

month

P

int

-

このカレンダの月、またはInteger.MIN_VALUE(未定義の場合)。月は1ベースで、Janは1月です。XMLDate.from string("2011-12-31").month==12

http://java.sun.com/javase/6/docs/api/javax/xml/datatype/XMLGregorianCalendar.html#getMonth()

day

P

int

-

このカレンダの日、またはInteger.MIN_VALUE(未定義の場合)。XMLDate.from string("2011-12-31").day==31

http://java.sun.com/javase/6/docs/api/javax/xml/datatype/XMLGregorianCalendar.html#getDay()

hour

P

int

-

このカレンダの時間、またはInteger.MIN_VALUE(未定義の場合)。XMLDate.from string("2011-12-31").hour==Integer.MIN_VALUE

http://java.sun.com/javase/6/docs/api/javax/xml/datatype/XMLGregorianCalendar.html#getHour()

minute

P

int

-

このカレンダの分、またはInteger.MIN_VALUE(未定義の場合)。XMLDate.from string("2011-12-31T09:30:00").minute==30

http://java.sun.com/javase/6/docs/api/javax/xml/datatype/XMLGregorianCalendar.html#getMinute()

second

P

int

-

このカレンダの秒、またはInteger.MIN_VALUE(未定義の場合)。XMLDate.from string("09:30:05Z").second==5

http://java.sun.com/javase/6/docs/api/javax/xml/datatype/XMLGregorianCalendar.html#getSecond()

timezone

P

int

-

このカレンダの分単位のタイムゾーン・オフセット、またはInteger.MIN_VALUE(未定義の場合)。XMLDate.from string("09:30:00-09:00").timezone==-540

http://java.sun.com/javase/6/docs/api/javax/xml/datatype/XMLGregorianCalendar.html#getTimezone()

表B-17に、XMLDateクラスを示します。

表B-17 XMLDateクラスの表

OBR名 種類 署名 Java名 説明 参照

XMLDate

Cl

-

oracle.rules.rl.extensions.XMLDate

XMLGregorianCalendarを不変オブジェクトとして使用するためのヘルパー・クラス。カレンダを不変オブジェクトとして処理することでエラーを防止できます。

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html

add years to

sM

XMLGregorianCalendar(XMLGregorianCalendar,int)

addYearsTo

arg1よりもarg2の年数だけ後の新しいXMLGregorianCalendarを戻します。XMLDate.add years to("2009-01-01",1)=="2010-01-01"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html #addYearsTo_javax_xml_datatype_XMLGregorianCalendar__int_

add months to

sM

XMLGregorianCalendar(XMLGregorianCalendar,int)

addMonthsTo

arg1よりもarg2の月数だけ後の新しいXMLGregorianCalendarを戻します。XMLDate.add months to("2009-01-01",1)=="2009-02-01"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html #addMonthsTo_javax_xml_datatype_XMLGregorianCalendar__int_

add weeks to

sM

XMLGregorianCalendar(XMLGregorianCalendar,int)

addWeeksTo

arg1よりも7*arg2の日数だけ後の新しいXMLGregorianCalendarを戻します。XMLDate.add weeks to("2009-01-01",1)=="2009-01-08"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html #addWeeksTo_javax_xml_datatype_XMLGregorianCalendar__int_

add days to

sM

XMLGregorianCalendar(XMLGregorianCalendar,int)

addDaysTo

arg1よりもarg2の日数だけ後の新しいXMLGregorianCalendarを戻します。XMLDate.add days to("2009-01-01",1)=="2009-01-02"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html #addDaysTo_javax_xml_datatype_XMLGregorianCalendar__int_

add hours to

sM

XMLGregorianCalendar(XMLGregorianCalendar,int)

addHoursTo

arg1よりもarg2の時間数だけ後の新しいXMLGregorianCalendarを戻します。XMLDate.add hours to("01:01:01",1)=="02:01:01"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html #addHoursTo_javax_xml_datatype_XMLGregorianCalendar__int_

add minutes to

sM

XMLGregorianCalendar(XMLGregorianCalendar,int)

addMinutesTo

arg1よりもarg2の分数だけ後の新しいXMLGregorianCalendarを戻します。XMLDate.add minutes to("01:01:01",1)=="01:02:01"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html #addMinutesTo_javax_xml_datatype_XMLGregorianCalendar__int_

add seconds to

sM

XMLGregorianCalendar(XMLGregorianCalendar,int)

addSecondsTo

arg1よりもarg2の秒数だけ後の新しいXMLGregorianCalendarを戻します。XMLDate.add seconds to("01:01:01",61)=="01:02:02"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html #addSecondsTo_javax_xml_datatype_XMLGregorianCalendar__int_

add milliseconds to

sM

XMLGregorianCalendar(XMLGregorianCalendar,int)

addMillisecondsTo

arg1よりもarg2のミリ秒数だけ後の新しいXMLGregorianCalendarを戻します。XMLDate.add milliseconds to("01:01:01",61)=="01:01:01.061"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html #addMillisecondsTo_javax_xml_datatype_XMLGregorianCalendar__int_

add duration to

sM

XMLGregorianCalendar(XMLGregorianCalendar,XMLDuration)

addDurationTo

arg1よりもarg2の期間だけ後の新しいXMLGregorianCalendarを戻します。XMLDate.add duration to("2009-12-30T23:59:00",Duration.from string("P1DT1M"))=="2010-01-01"

http://www.w3.org/TR/rif-dtb/#func:add-yearMonthDuration-to-dateTime_.28 adapted_from_op:add-yearMonthDuration-to-dateTime.29

http://www.w3.org/TR/rif-dtb/#func:add-dayTimeDuration-to-dateTime_.28 adapted_from_op:add-dayTimeDuration-to-dateTime.29

from string

sM

XMLGregorianCalendar(String)

fromString

拡張型ISO 8601のdateリテラルでarg1のXMLGregorianCalendarを作成します。XMLDate.from string("2010-02-06-08:00")=="2010-02-06-08:00"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html #fromString_java_lang_String_

subtract years from

sM

XMLGregorianCalendar(XMLGregorianCalendar,int)

subtractYearsFrom

arg1よりもarg2の年数だけ前の新しいXMLGregorianCalendarを戻します。XMLDate.subtract years from("2009-01-01",1)=="2008-01-01"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html #subtractYearsFrom_javax_xml_datatype_XMLGregorianCalendar__int_

subtract months from

sM

XMLGregorianCalendar(XMLGregorianCalendar,int)

subtractMonthsFrom

arg1よりもarg2の月数だけ前の新しいXMLGregorianCalendarを戻します。XMLDate.subtract months from("2009-01-01",1)=="2008-12-01"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html #subtractMonthsFrom_javax_xml_datatype_XMLGregorianCalendar__int_

subtract weeks from

sM

XMLGregorianCalendar(XMLGregorianCalendar,int)

subtractWeeksFrom

arg1よりも7*arg2の日数だけ前の新しいXMLGregorianCalendarを戻します。XMLDate.subtract weeks from("2009-01-01",1)=="2008-12-25"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html #subtractWeeksFrom_javax_xml_datatype_XMLGregorianCalendar__int_

subtract days from

sM

XMLGregorianCalendar(XMLGregorianCalendar,int)

subtractDaysFrom

arg1よりもarg2の日数だけ前の新しいXMLGregorianCalendarを戻します。XMLDate.subtract days from("2009-01-01",1)=="2008-12-31"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html #subtractDaysFrom_javax_xml_datatype_XMLGregorianCalendar__int_

subtract hours from

sM

XMLGregorianCalendar(XMLGregorianCalendar,int)

subtractHoursFrom

arg1よりもarg2の時間数だけ前の新しいXMLGregorianCalendarを戻します。XMLDate.subtract hours from("01:01:01",1)=="00:01:01"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html #subtractHoursFrom_javax_xml_datatype_XMLGregorianCalendar__int_

subtract minutes from

sM

XMLGregorianCalendar(XMLGregorianCalendar,int)

subtractMinutesFrom

arg1よりもarg2の分数だけ前の新しいXMLGregorianCalendarを戻します。XMLDate.subtract minutes from("01:01:01",1)=="01:00:01"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html #subtractMinutesFrom_javax_xml_datatype_XMLGregorianCalendar__int_

subtract seconds from

sM

XMLGregorianCalendar(XMLGregorianCalendar,int)

subtractSecondsFrom

arg1よりもarg2の秒数だけ前の新しいXMLGregorianCalendarを戻します。XMLDate.subtract seconds from("01:01:01",61)=="01:00:00"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html #subtractSecondsFrom_javax_xml_datatype_XMLGregorianCalendar__int_

subtract milliseconds from

sM

XMLGregorianCalendar(XMLGregorianCalendar,int)

subtractMillisecondsFrom

arg1よりもarg2のミリ秒数だけ前の新しいXMLGregorianCalendarを戻します。XMLDate.subtract milliseconds from("01:01:01",61)=="01:01:00.939"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html #subtractMillisecondsFrom_javax_xml_datatype_XMLGregorianCalendar__int_

subtract duration from

sM

XMLGregorianCalendar(XMLGregorianCalendar,XMLDuration)

subtractDurationFrom

arg1よりもarg2の期間だけ前の新しいXMLGregorianCalendarを戻します。XMLDate.subtract duration from("2009-12-30T23:59:00",Duration.from string("P1DT1M"))=="20009-12-29T23:58:00"

http://www.w3.org/TR/rif-dtb/#func:subtract-yearMonthDuration-from-dateTime_.28 adapted_from_op:subtract-yearMonthDuration-from-dateTime.29

http://www.w3.org/TR/rif-dtb/#func:subtract-dayTimeDuration-from-dateTime_.28 adapted_from_op:subtract-dayTimeDuration-from-dateTime.29

to string

sM

String(XMLGregorianCalendar)

toString

arg1のISO 8601字句表現を戻します。XMLDate.to string("2010-04-15T11:00:00-09:00")=="2010-04-15T11:00:00-09:00"

http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10663/oracle/rules/rl/extensions/XMLDate.html #toString_javax_xml_datatype_XMLGregorianCalendar_

is datetime

sM

boolean(XMLGregorianCalendar)

isDateTime

このカレンダに日付と時間の両方のフィールドが含まれていることをチェックします。XMLDate.is datetime("2009-12-30T23:59:00")==true

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

is datetime stamp

sM

boolean(XMLGregorianCalendar)

isDateTimeStamp

このカレンダに日付、時間、タイムゾーンのフィールドが含まれていることをチェックします。XMLDate.is datetime stamp("2009-12-30T23:59:00")==false

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

is date

sM

boolean(XMLGregorianCalendar)

isDate

このカレンダに日付フィールドが含まれていて、時間フィールドが含まれていないことをチェックします。XMLDate.is date("2009-12-30")==true

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

is time

sM

boolean(XMLGregorianCalendar)

isTime

このカレンダに時間フィールドが含まれていて、日付フィールドが含まれていないことをチェックします。XMLDate.is time("2009-12-30T23:59:00")==false

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

get timezone

sM

XMLDuration(XMLGregorianCalendar)

getTimezone

カレンダからタイムゾーンを期間として取得します。XMLDate.get timezone("11:00:00+05:30")==Duration.from string("PT5H30M")

-

get seconds

sM

BigDecimal(XMLGregorianCalendar)

getSeconds

カレンダから小数部を含む秒数をBigDecimalとして取得します。XMLDate.get seconds("00:00:12.345")==12.345

-

表B-18に、OracleDateクラスを示します。

表B-18 OracleDateクラスの表

OBR名 種類 署名 Java名 説明

OracleDate

Cl

-

oracle.rules.sdk2.extensions.OracleDate

oracle.jbo.domain.Timestampを使用するためのヘルパー・クラス。メソッドの使用方法は、同じ名前のXMLDateメソッドを参照してください。

add years to

sM

oracle.jbo.domain.Timestamp(oracle.jbo.domain.Timestamp,int)

addYearsTo

arg1よりもarg2の年数だけ後の新しいoracle.jbo.domain.Timestampを戻します。

add months to

sM

oracle.jbo.domain.Timestamp(oracle.jbo.domain.Timestamp,int)

addMonthsTo

arg1よりもarg2の月数だけ後の新しいoracle.jbo.domain.Timestampを戻します。

add weeks to

sM

oracle.jbo.domain.Timestamp(oracle.jbo.domain.Timestamp,int)

addWeeksTo

arg1よりも7*arg2の日数だけ後の新しいoracle.jbo.domain.Timestampを戻します。

add days to

sM

oracle.jbo.domain.Timestamp(oracle.jbo.domain.Timestamp,int)

addDaysTo

arg1よりもarg2の日数だけ後の新しいoracle.jbo.domain.Timestampを戻します。

add hours to

sM

oracle.jbo.domain.Timestamp(oracle.jbo.domain.Timestamp,int)

addHoursTo

arg1よりもarg2の時間数だけ後の新しいoracle.jbo.domain.Timestampを戻します。

add minutes to

sM

oracle.jbo.domain.Timestamp(oracle.jbo.domain.Timestamp,int)

addMinutesTo

arg1よりもarg2の分数だけ後の新しいoracle.jbo.domain.Timestampを戻します。

add seconds to

sM

oracle.jbo.domain.Timestamp(oracle.jbo.domain.Timestamp,int)

addSecondsTo

arg1よりもarg2の秒数だけ後の新しいoracle.jbo.domain.Timestampを戻します。

add milliseconds to

sM

oracle.jbo.domain.Timestamp(oracle.jbo.domain.Timestamp,int)

addMillisecondsTo

arg1よりもarg2のミリ秒数だけ後の新しいoracle.jbo.domain.Timestampを戻します。

add duration to

sM

oracle.jbo.domain.Timestamp(oracle.jbo.domain.Timestamp,XMLDuration)

addDurationTo

arg1よりもarg2の期間だけ後の新しいoracle.jbo.domain.Timestampを戻します。

from string

sM

oracle.jbo.domain.Timestamp(String)

fromString

拡張型ISO 8601のdateリテラルでarg1のoracle.jbo.domain.Timestampを作成します。

subtract years from

sM

oracle.jbo.domain.Timestamp(oracle.jbo.domain.Timestamp,int)

subtractYearsFrom

arg1よりもarg2の年数だけ前の新しいoracle.jbo.domain.Timestampを戻します。

subtract months from

sM

oracle.jbo.domain.Timestamp(oracle.jbo.domain.Timestamp,int)

subtractMonthsFrom

arg1よりもarg2の月数だけ前の新しいoracle.jbo.domain.Timestampを戻します。

subtract weeks from

sM

oracle.jbo.domain.Timestamp(oracle.jbo.domain.Timestamp,int)

subtractWeeksFrom

arg1よりも7*arg2の日数だけ前の新しいoracle.jbo.domain.Timestampを戻します。

subtract days from

sM

oracle.jbo.domain.Timestamp(oracle.jbo.domain.Timestamp,int)

subtractDaysFrom

arg1よりもarg2の日数だけ前の新しいoracle.jbo.domain.Timestampを戻します。

subtract hours from

sM

oracle.jbo.domain.Timestamp(oracle.jbo.domain.Timestamp,int)

subtractHoursFrom

arg1よりもarg2の時間数だけ前の新しいoracle.jbo.domain.Timestampを戻します。

subtract minutes from

sM

oracle.jbo.domain.Timestamp(oracle.jbo.domain.Timestamp,int)

subtractMinutesFrom

arg1よりもarg2の分数だけ前の新しいoracle.jbo.domain.Timestampを戻します。

subtract seconds from

sM

oracle.jbo.domain.Timestamp(oracle.jbo.domain.Timestamp,int)

subtractSecondsFrom

arg1よりもarg2の秒数だけ前の新しいoracle.jbo.domain.Timestampを戻します。

subtract milliseconds from

sM

oracle.jbo.domain.Timestamp(oracle.jbo.domain.Timestamp,int)

subtractMillisecondsFrom

arg1よりもarg2のミリ秒数だけ前の新しいoracle.jbo.domain.Timestampを戻します。

subtract duration from

sM

oracle.jbo.domain.Timestamp(oracle.jbo.domain.Timestamp,XMLDuration)

subtractDurationFrom

arg1よりもarg2の期間だけ前の新しいoracle.jbo.domain.Timestampを戻します。

to string

sM

String(oracle.jbo.domain.Timestamp)

toString

arg1のISO 8601字句表現を戻します。

表B-19に、Durationクラスを示します。

表B-19 Durationクラスの表

OBR名 種類 署名 Java名 説明 参照

Duration

Cl

-

oracle.rules.sdk2.extensions.OracleDuration

日付を比較および減算するためのヘルパー・クラス。2つの日付の差分をXMLDurationに変換できます。リテラル(文字列)表現からXMLDurationを作成することもできます。日時および年月のXMLDurationsのみがサポートされています。

-

compare

sM

int(Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp, Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp)

-

arg1<arg2の場合は-1、arg1==arg2の場合は0、arg1>arg2の場合は1をそれぞれ戻します。Duration.compare("2010-01-01","2010-02-02")==-1

http://www.w3.org/TR/rif-dtb/#pred:date Time-less-than_.28adapted_from_op:dateTime-less-than.29

years between

sM

int(Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp, Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp)

yearsBetween

arg2からarg1を減算します。これらの引数はなんらかの種類の日付/時間です。Duration.years between("2008-01-01", "2009-02-02")==1

-

months between

sM

int(Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp, Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp)

monthsBetween

arg2からarg1を減算します。これらの引数はなんらかの種類の日付/時間です。Duration.months between("2009-01-01","2008-02-02")==-10

-

weeks between

sM

int(Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp, Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp)

weeksBetween

arg2からarg1を減算します。これらの引数はなんらかの種類の日付/時間です。Duration.weeks between("2000-01-01","2000-02-04")==4

-

days between

sM

int(Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp, Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp)

daysBetween

arg2からarg1を減算します。これらの引数はなんらかの種類の日付/時間です。Duration.days between("2000-01-01","2000-02-04")==34

-

hours between

sM

int(Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp, Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp)

hoursBetween

arg2からarg1を減算します。これらの引数はなんらかの種類の日付/時間です。Duration.hours between("2000-01-04T03:30:00","2000-01-01T00:00:00")==-75

-

minutes between

sM

int(Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp, Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp)

minutesBetween

arg2からarg1を減算します。これらの引数はなんらかの種類の日付/時間です。Duration.minutes between("03:30:00","04:45:00")==75

-

seconds between

sM

int(Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp, Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp)

secondsBetween

arg2からarg1を減算します。これらの引数はなんらかの種類の日付/時間です。Duration.seconds between("03:30:00","03:31:15")==75

-

milliseconds between

sM

int(Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp, Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp)

millisecondsBetween

arg2からarg1を減算します。これらの引数はなんらかの種類の日付/時間です。Duration.milliseconds between("03:30:00","03:31:15")==75000

between

sM

XMLDuration(Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp, Calendar|XMLGregorianCalendar|oracle.jbo.domain.Timestamp)

between

arg2からarg1を減算します。これらの引数はなんらかの種類の日付/時間です。日時の期間(Duration)を戻します。Duration.between("2009-01-01T01:15:00","2009-02-02T11:30:00")==Duration.from string("P32DT10H15M")

http://www.w3.org/TR/rif-dtb/#func:subtract-date Times_.28adapted_from_op:subtract-dateTimes.29

from string

sM

XMLDuration(String)

fromString

ISO 8601のdurationリテラルの期間を解析します。"P1DT2H3M"は、1日、2時間、3分の期間です。

http://www.w3.org/TR/xpath-functions/#duration-subtypes

compare durations

sM

int(XMLDuration,XMLDuration)

compareDurations

2つの期間を比較します。両方が日時または年月の期間の必要があります。arg1<arg2の場合は-1、arg1==arg2の場合は0、arg1>arg2の場合は1をそれぞれ戻します。Duration.compare(Duration.from string("P1Y"),Duration.from string("P13M"))==-1

http://www.w3.org/TR/rif-dtb/#pred:dayTimeDuration-less-than_.28 adapted_from_op:dayTimeDuration-less-than.29

http://www.w3.org/TR/rif-dtb/#pred:yearMonthDuration-less-than_.28 adapted_from_op:yearMonthDuration-less-than.29

is day-time duration

sM

boolean(XMLDuration)

isDayTimeDuration

arg1がday-timeの期間であることをチェックします。day-timeおよびyear-monthの期間のみがサポートされています。Duration.is day-time duration(Duration.from string("P2DT1S"))==true

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

is year-month duration

sM

boolean(XMLDuration)

isYearMonthDuration

arg1がyear-monthの期間であることをチェックします。day-timeおよびyear-monthの期間のみがサポートされています。Duration.is year-month duration(Duration.from string("P13M"))==true

http://www.w3.org/TR/rif-dtb/#Guard_Predicates_for_Datatypes

get seconds

sM

BigDecimal(XMLDuration)

getSeconds

期間から秒数フィールドをBigDecimalとして取得します(小数点以下の秒数を含む)。Duration.get seconds(Duraton.from string("PT12.345S"))==12.345

http://www.w3.org/TR/rif-dtb/#func:seconds-from-duration_.28 adapted_from_fn:seconds-from-duration.29

divide

sM

XMLDuration(XMLDuration,int|double)

-

整数またはdoubleの除数によって期間を除算します。Duration.divide(Duration.from string("P1Y"),4)==Duration.from string("P3M")

http://www.w3.org/TR/rif-dtb/#func:divide-dayTimeDuration_.28 adapted_from_op:divide-dayTimeDuration.29

http://www.w3.org/TR/rif-dtb/#func:divide-yearMonthDuration_.28 adapted_from_op:divide-yearMonthDuration.29

ratio

sM

BigDecimal(XMLDuration,XMLDuration)

-

2つの期間の比率をBigDecimalとして計算します。Duration.ratio(Duration.from string("P1Y"),Duration.from string("P3M"))==4

http://www.w3.org/TR/rif-dtb/#func:divide-dayTimeDuration-by-dayTimeDuration_.28 adapted_from_op:divide-dayTimeDuration-by-dayTimeDuration.29

http://www.w3.org/TR/rif-dtb/#func:divide-yearMonthDuration-by-yearMonthDuration_.28 adapted_from_op:divide-yearMonthDuration-by-yearMonthDuration.29

表B-20に、XMLDurationクラスを示します。

表B-20 XMLDurationクラスの表

OBR名 種類 署名 Java名 説明 参照

XMLDuration

Cl

-

javax.xml.datatype.Duration

W3C XMLスキーマ1.0仕様で定義された、時間範囲の不変表現。day-timeおよびyear-monthのXMLDurationのみがサポートされています。

http://java.sun.com/javase/6/docs/api/javax/xml/datatype/Duration.html

http://www.w3.org/TR/xpath-functions/#duration-subtypes

years

P

int

-

期間の年のフィールド。Duration.from string("P2Y3M").years==2

http://www.w3.org/TR/rif-dtb/#func: years-from-duration_.28adapted_from_fn:years-from-duration.29

months

P

int

-

期間の月のフィールド。Duration.from string("P2Y3M").months==2

http://www.w3.org/TR/rif-dtb/#func: months-from-duration_.28adapted_from_fn:months-from-duration.29

days

P

int

-

期間の日のフィールド。Duration.from string("P1DT2H3M4S").days==1

http://www.w3.org/TR/rif-dtb/#func: days-from-duration_.28adapted_from_fn:days-from-duration.29

hours

P

int

-

期間の時間のフィールド。Duration.from string("P1DT2H3M4S").hours==2

http://www.w3.org/TR/rif-dtb/#func: hours-from-duration_.28adapted_from_fn:hours-from-duration.29

minutes

P

int

-

期間の分のフィールド。Duration.from string("P1DT2H3M4S").minutes==3

http://www.w3.org/TR/rif-dtb/#func: minutes-from-duration_.28adapted_from_fn:minutes-from-duration.29

seconds

P

int

-

期間の秒のフィールド。Duration.from string("P1DT2H3M4S").seconds==4

http://www.w3.org/TR/rif-dtb/#func: seconds-from-duration_.28adapted_from_fn:seconds-from-duration.29

sign

P

int

-

この期間の符号を-1、0、1のいずれかで戻します。Duration.from string("-P1Y").sign==-1

-

add

M

XMLDuration(XMLDuration)

-

2つの期間を加算します。Duration.from string("P6M").add(Duration.from string("P6M"))==Duration.from string("P1Y")

http://java.sun.com/javase/6/docs/api/javax/xml/datatype/Duration.html#add(javax.xml.datatype.Duration)

subtract

M

XMLDuration(XMLDuration)

-

2つの期間を減算します。Duration.from string("P6M").subtract(Duration.from string("P6M"))==Duration.from string("P0Y")

http://java.sun.com/javase/6/docs/api/javax/xml/datatype/Duration.html#subtract(javax.xml.datatype.Duration)

multiply

M

XMLDuration(BigDecimal|int)

-

arg1の期間にarg2のファクタを乗算します。Duration.from string("P6M").multiply(2)==Duration.from string("P1Y")

http://java.sun.com/javase/6/docs/api/javax/xml/datatype/Duration.html#multiply(java.math.BigDecimal)

negate

M

XMLDuration()

-

たとえば、Duration.between(arg1,arg2)に対する引数を逆転させたりすると、期間を負にできます。Duration.from string("P6M").negate()==Duration.from string("-P6M")

http://java.sun.com/javase/6/docs/api/javax/xml/datatype/Duration.html#negate()

to string

M

String()

toString

この期間のISO8601リテラル表現を取得します。Duration.from string("P6M").to string()=="P6M"

-

表B-21に、CurrentDateクラスを示します。

表B-21 CurrentDateクラスの表

OBR名 種類 署名 Java名 説明

CurrentDate

Cl

-

oracle.rules.rl.extensions.CurrentDate

現在の日付のホルダのファクト・タイプ。ルール・パターンで使用できます。

date

P

Calendar

-

現在の日付を戻します。

B.5 その他のクラス

この項では、Oracle Business Rulesで提供されるその他のクラスについて説明します。

表B-22に、JAXBElementクラスを示します。

表B-22 JAXBElementクラスの表

OBR名 種類 署名 Java名 説明 参照

JAXBElement

Cl

-

javax.xml.bind.JAXBElement

XMLファクト・タイプのXML要素情報を表します。

http://java.sun.com/javase/6/docs/api/javax/xml/bind/JAXBElement.html

nil

P

boolean

-

nil要素は、(XMLでは)欠落要素と同じものではありません。

http://java.sun.com/javase/6/docs/api/javax/xml/bind/JAXBElement.html#isNil()

value

P

Object

-

XMLファクト・タイプへの参照です。

http://java.sun.com/javase/6/docs/api/javax/xml/bind/JAXBElement.html#getValue()

表B-23に、Objectクラスを示します。

表B-23 Objectクラスの表

OBR名 種類 署名 Java名 説明 参照

Object

Cl

-

java.lang.Object

すべてのJavaオブジェクトの基本クラス。

http://java.sun.com/javase/6/docs/api/java/lang/Object.html

B.6 関数

この項では、Oracle Business Rulesの関数を示します。

表B-24に、Oracle Business Rulesで提供される様々な関数を示します。

表B-24 Oracle Business Rulesで提供される様々な関数の表

OBR名 署名 RL名 説明 参照

print

void(Object)

println

arg1の文字列値を印刷します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.assert a tree of facts

Object(Object)

assertTree

arg1の参照可能なファクト・タイプのツリーをルートとしてアサート(作業メモリーに挿入)します。arg1を戻します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.assert

Object(Object)

assert

arg1をアサート(arg1を作業メモリーに挿入)します。arg1を戻します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.retract

void(Object)

retract

オブジェクトarg1に関連付けられたファクトを作業メモリーから削除します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.get fact ID

int(Object)

id

オブジェクトarg1に関連付けられたファクトIDを戻します。arg1がファクトに関連付けられていない場合は、-1が戻されます。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.get fact by ID

Object(int)

object

特定のファクトIDに関連付けられているオブジェクトを戻します。ファクトIDがない場合は、nullが戻されます。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.get firing rule name

String

-

ルール・アクション内で呼び出される場合、現在起動しているルールの名前を返します。それ以外の場合はnullを返します。

-

RL.contains

boolean(List,Object)

contains

contains()関数はJava Collectionのcontains()メソッドに似ていますが、コレクション内のJAXBElementの存在を処理する機能を持っています。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.suppress rule test errors

boolean(boolean)

-

ルール・テストの評価中のエラーをルール・エンジンによって抑止する必要がある場合に更新します。

-

RL.are rule test errors suppressed

boolean()

-

ルール・テストの評価中のエラーをルール・エンジンによって抑止する場合に問い合せます。

-

RL.ruleset stack.push

void(String)

pushRuleset

arg1(ルールセットの名前)をルールセット・スタックに追加します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.ruleset stack.pop

String()

popRuleset

ルールセット・スタックの最上部のルールセット名をポップして戻します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.ruleset stack.get

String[]()

getRulesetStack

ルールセット・スタックを文字列配列として戻します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.ruleset stack.set

void(String[])

setRulesetStack

ルールセット・スタックをarg1(文字列配列)に設定します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.ruleset stack.clear

void()

clearRulesetStack

すべてのルールセット名をルールセット・スタックからポップします。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.date.get current

Calendar()

getCurrentDate

CurrentDateファクトに関連付けられている日付を戻します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.date.set current

void(Calendar)

setCurrentDate

エンジンが管理している現在の日付を表すファクトに基づいて判断する(CurrentDateファクトを使用)ための日付を設定します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.date.get effective

Calendar()

getEffectiveDate

有効日の現在の値を戻します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.date.set effective

void(Calendar)

setEffectiveDate

ルール・エンジンの有効日を更新します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.watch.rules

void()

watchRules

ルールの起動(アクティブ化の実行)に関する情報を印刷します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.watch.activations

void()

watchActivations

アジェンダに対するアクティブ化の追加または削除に関する情報を印刷します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.watch.facts

void()

watchFacts

作業メモリー内のファクトのアサート、取消しまたは変更に関する情報を印刷します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.watch.focus

void()

watchFocus

ルールセット・スタックに対するルールセットの追加またはポップ(削除)に関する情報を印刷します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.watch.compilations

void()

watchCompilations

既存のルールとの条件パーツの共有方法に関する情報を印刷します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.watch.all

void()

watchAll

ルール、ファクト、アクティブ化、フォーカス、コンパイルに関する情報を印刷します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.stop watching.rules

void()

clearWatchRules

ルールの起動に関する情報の印刷を中止します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.stop watching.activations

void()

clearWatchActivations

アジェンダに対するアクティブ化の追加または削除に関する情報の印刷を中止します

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.stop watching.facts

void()

clearWatchFacts

作業メモリー内のファクトのアサート、取消しまたは変更に関する情報の印刷を中止します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.stop watching.focus

void()

clearWatchFocus

ルールセット・スタックに対するルールセットの追加またはポップ(削除)に関する情報の印刷を中止します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.stop watching.compilations

void()

clearWatchCompilations

既存のルールとの条件パーツの共有方法に関する情報の印刷を中止します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.stop watching.all

void()

clearWatchAll

ルール、ファクト、アクティブ化、フォーカス、コンパイルに関する情報の印刷を中止します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.show.facts

void()

showFacts

作業メモリー内のすべてのファクトを印刷します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』

RL.show.activations

void()

showActivations

アジェンダのすべてのアクティブ化を印刷します。

『Oracle Fusion Middleware Oracle Business Rulesランゲージ・リファレンス・ガイド』