15 リファレンス: カスタム監査ルールのユーティリティ・ライブラリ

このリファレンスを使用して、Oracle JAFで提供されているユーティリティ・ライブラリの詳細を取得します。これらのライブラリには、カスタム監査ルールを作成する際に役立つその他のヘルパー関数が用意されています。

ユーティリティ・ライブラリ 説明

DomUtils: ノード・オブジェクト関数

DomUtilsは、Document Object Model (DOM)ユーティリティ関数およびヘルパー関数のコレクションです。

MetaLib: JETメタデータ・アクセス関数

MetaLibは、ルールで使用できるOracle JAF監査メタデータ・アクセス機能を提供します。

Utils: 一般的な非ファイル・システム関数

Utilsは、非ファイル・システム・ユーティリティ関数のコレクションです。

FsUtils: ファイル・システム関数

FsUtilsは、ファイル・システム・ユーティリティ関数のコレクションです。

SemVerUtils: セマンティック・バージョン関数

SemVerUtilsは、セマンティク・バージョン(SemVer)ユーティリティ関数のコレクションです。

JafLib: JAFコア・アクセス・メソッド

JafLibは、公開されているコアOracle JAFライフサイクル関数のライブラリです。

MsgLib: メッセージ表示関数

MsgLibは、Oracle JAF内部メッセージング・ルーチンへのアクセスを提供するネームスペース・プロパティです。

CssUtils: CSSユーティリティ関数

CssUtilsは、CSSルール処理関数のライブラリです。

AstUtils: JavaScriptファイル・ヘルパー関数

AstUtilsは、抽象構文ツリー(AST)のヘルパー関数のコレクションです。

SevLib: 重大度サポート・ヘルパー関数

SevLibは、Oracle JAF構成プロパティsevMapを介して再マップされている重大度の処理をサポートするヘルパー関数のライブラリです。

TsxUtils: TSXユーティリティ関数

TsxUtilsは、TSXルール処理関数のライブラリです。

MetaLib: JETメタデータ・アクセス関数

MetaLibは、ルールで使用できるOracle JAF監査メタデータ・アクセス機能を提供します。

これらのOracle JET監査メタデータ・インタフェース・ライブラリ関数には、ルール・コンテキスト・オブジェクトcontext.utils.metaLibを介してアクセスします。このライブラリのメソッドにより、ルールはOracle JAFメタデータの形式に対する変更から遮断されます。メタデータへのアクセスを必要とする監査ルールを作成する場合は、これらのメソッドを使用します。

Oracle JET監査メタデータ・インタフェース・ライブラリのMetadataメソッド

Oracle JET監査メタデータ・インタフェース・ライブラリには、次のmetadataメソッドが用意されています。

メソッド 戻り値 説明
getTagMetadata()(string tag)

オブジェクト| null

tagはHTML要素名です。

component.jsonメタデータを、指定されたユーザー・カスタム・コンポーネントのオブジェクトとして返します。

getTagPropMetadata(string tag, string propName)

オブジェクト| null

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。propNameはプロパティ/サブプロパティの名前です。

ユーザーWebコンポーネント・プロパティ・メタデータを、指定されたコンポーネント・プロパティのcomponent.jsonメタデータからのオブジェクトとして返します。プロパティ名には、ドット区切りのサブプロパティを指定できます。たとえば:

metaLib.getTagAttrMetadata('component-name', 'prop.subprop1.subprop2') 

これは、プロパティの存在をチェックするために必要なルール・コードを減らすための便利な方法です。

getTagSlotMetadata(string tag, string slotName)

オブジェクト| null

コンポーネント・メタデータから'slot'オブジェクトを返します

getAllCustomMetadata()

オブジェクト

すべてのユーザー・カスタム・コンポーネント・メタデータを含むオブジェクトを返します。オブジェクト・キーは次のコンポーネント名です。

{
 component_name : {
   folder : string, // the containing folder (in native platform format) of:
  	           // 1) the component.json, or
  		    // 2) the VComponent source from which the metadata was
  		    // compiled.
  json : object,    // the component.json as an object
  VCType: 'func' | 'class'  // if a VComponent  (JAF 8.9.0  or later)
    },
   . . .
}
getTagStatus(string tag, string statusType) Array<Object> | null

statusTypeで指定された型のメタデータstatusオブジェクトの配列を返します。

tagはWebコンポーネント名です

statusTypeは、オプションのメタデータstatus型です。指定可能な値は、deprecatedmaintenanceantiPatternまたはsupersedesです。このパラメータはオプションです。省略すると、コンポーネント・レベルのすべてのステータス・オブジェクトが返されます。

nullは、ステータス・オブジェクトが見つからない場合、またはtagまたはstatusTypeが無効な場合に、他のすべてのケースで返されます。

getPropStatus(string tag, string prop, string statusType) Array<Object> | null

statusTypeで指定された型のメタデータstatusオブジェクトの配列を返します。

tagはWebコンポーネント名です

propはコンポーネント・プロパティ名です

statusTypeは、オプションのメタデータstatus型です。指定可能な値は、deprecatedmaintenanceantiPatternまたはsupersedesです。このパラメータはオプションです。省略すると、コンポーネント・レベルのすべてのステータス・オブジェクトが返されます。

nullは、ステータス・オブジェクトが見つからない場合、またはtagまたはstatusTypeが無効な場合に、他のすべてのケースで返されます。

isTagStatus(string tag, string statusType) ブール

コンポーネント・レベルでstatusTypeによって指定されたステータス・タイプがコンポーネントにある場合は、trueを返します。

tagはWebコンポーネント名です

statusTypeは、オプションのメタデータstatus型です。指定可能な値は、deprecatedmaintenanceantiPatternまたはsupersedesです。

Oracle JET監査メタデータ・インタフェース・ライブラリのTagメソッド

Oracle JET監査メタデータ・インタフェース・ライブラリには、次のtagメソッドが用意されています。

メソッド 戻り値 説明
isWCTag(string tag) ブール

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。

HTMLタグ要素が既知のJETまたはユーザー定義のカスタムWebコンポーネントである場合、trueを返します。

isJetTag(string tag) ブール

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。

HTMLタグ要素が既知のJET要素(<oj-avatar>など)である場合、trueを返します。

isJetLegacyTag(string tag) ブール

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。

HTMLタグ要素が既知のJETレガシー要素(oj-*)である場合、trueを返します。

isComponentTag(string tag) ブール

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。

HTML要素が既知のユーザー定義のカスタムWebコンポーネント(コンポジット・コンポーネントとも呼ばれる)である場合、trueを返します。構成ファイルのcomponentプロパティを介して検出されたcomponent.jsonファイルが調べられます。isWCTag()も参照してください。

isTagDeprecated(string tag) 文字列| null

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。

JETコンポーネントの非推奨ステータスをテストし、JET JSドキュメントからの推奨される代替方法(ある場合)を返します。要素が非推奨でない場合、nullを返します。

isTagAttrDeprecated(string tag, string attrName)

Array.<Object> | null

オブジェクト|文字列| null

tagはHTML要素名です。attrNameは属性名です。

Webコンポーネント属性の非推奨ステータスをテストし、非推奨の場合は推奨される代替方法やバージョンなどの情報を返します。複数のエントリが返される可能性があり、各オブジェクトのtargetプロパティに関連性があるかどうかを確認する必要があります。各オブジェクトは、component.json非推奨タイプのstatusオブジェクト形式です。

JAF 3.1.0より前: Webコンポーネント属性の非推奨ステータスをテストし、推奨される代替方法を返します。代替方法がない場合、文字列は空です。属性が非推奨でない場合、nullを返します。オブジェクトが返される場合は、プロパティsinceおよびdescriptionのいずれか一方または両方(両方の文字列)が含まれます。属性が非推奨でない場合、nullを返します。

isTagAttr(string tag, string attrName) ブール

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。attrNameは属性名です。

指定されたカスタム・コンポーネントに属性が定義されている場合はtrue、それ以外の場合はfalseを返します。

isTagAttrValue(string tag, string attrName, string value) ブール

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。attrNameは属性名です。valueは属性値です。

指定されたカスタム・コンポーネント名に属性値が定義されている場合はtrue、それ以外の場合はfalseを返します。

hasTagAttrValues(string tag, string attrName) ブール

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。attrNameは属性名です。

カスタム要素属性に定義済の値が1つ以上ある場合はtrue、それ以外の場合はfalseを返します。
hasTagSlot(string tag) ブール

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。

JETコンポーネントがslot属性をサポートする場合、trueを返します。
hasTagDefaultSlot(string tag) ブール

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。

JETコンポーネントにデフォルト・スロットがある場合、trueを返します。
hasTagDynamicSlot(string tag) ブール

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。

JETレガシー(oj-*)、JETコア・パック(oj-c-*)またはユーザー定義コンポーネントが動的スロットをサポートしている場合、trueを返します。

isTagSlotName(string tag, string slotName) ブール

Webコンポーネントで指定のスロット名が提供される場合は、trueを返します。JAF 6.1.7以降は、""を使用してslotName引数のデフォルト・スロットを表すことができます。

getPreferredSlotContent() Array<string> 指定されたコンポーネントtagおよびslotに対する優先コンテンツ(インタフェース)を返します。slotは、デフォルト・スロットの""として定義できます。
getPreferredSlotContent("oj-chart","groupTemplate")   -->  ["ChartGroupElement"]
getTagAttrType(string tagName, string attrName) 文字列| null

tagNameはWebコンポーネント名です(囲み山カッコなしで指定)。attrNameは属性の名前です。

指定された属性のWebコンポーネント要素のプロパティ・タイプを、プロパティのコンポーネント・メタデータから返します。

isTagSlotValue(string tag, string slotValue) ブール

JAF 3.1.0では非推奨です。かわりにisTagSlotName()を使用してください。

isTagEvent(string tag, string attrName) ブール

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。attrNameは属性名です。

カスタム・コンポーネント属性が定義済イベントである場合、trueを返します。たとえば: そのコンポーネントのon-oj-action

isTagSupportedInTheme(string tag ) ブール

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。

指定されたWebコンポーネント名が現在のテーマでサポートされている場合、trueを返します。

isAttrSupportedInTheme(string tag, string attrName) ブール

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。attrNameは属性名です。

Webコンポーネント内の指定された属性が現在のテーマでサポートされている場合、trueを返します。

isTagStyleDeprecated(string tag, string styleName) 文字列| null

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。styleNameclass属性スタイル名です。

JETコンポーネントのclass属性が非推奨ステータスであることをテストし、推奨される代替方法を返します。代替方法がない場合、文字列は空です。スタイルが非推奨でない場合、nullを返します。

isTagStyle(string tag, string styleName) 文字列| null

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。styleNameclass属性スタイル名です。

指定されたCSS classスタイルが指定されたJET要素名に定義されている場合、trueを返します。

isStyle(string styleName) ブール

styleNameは、class属性のスタイル名です。

CSSスタイルが定義済のJETスタイルである場合はtrue、それ以外の場合はfalseを返します。

isGenStyle(string styleName) ブール

styleNameは、class属性のスタイル名です。

CSSスタイルが汎用JET (コンポーネント固有ではない)スタイルである場合はtrue、それ以外の場合はfalseを返します。

isClassStyle(string styleName) ブール

styleNameは、class属性のスタイル名です。

CSSスタイルが既知のJETコンポーネント・スタイルである場合はtrue、それ以外の場合はfalseを返します。

isJetStylePrefix(string styleName) ブール

styleNameは、class属性のスタイル名です。

CSSスタイルが既知のJETスタイル接頭辞で始まる場合はtrue、それ以外の場合はfalseを返します。

ロードされたメタデータが古いJETバージョン用で、使用可能な接頭辞データがない場合は、falseが返されることもあることに注意してください。このような場合、hasJetStylePrefixes()を使用して、false値が有効かどうかを判断できます。

.
hasJetStylePrefixes() ブール

styleNameは、class属性のスタイル名です。

ロードされたメタデータにJETスタイルの接頭辞情報が含まれている場合、trueを返します。

getTagsFromStyle(string styleName) 文字列[] | null

styleNameは、class属性のスタイル名です。

指定されたスタイル名を使用してJET要素名を返します。たとえば、スタイルoj-form-control-text-align-rightの場合、戻り値は[oj-input-numberoj-input-text]になります。

getClassesFromStyle(string styleName) 文字列[] | null

styleNameは、class属性のスタイル名です。

指定されたスタイル名を使用するクラスを返します。たとえば、スタイルoj-button-smの場合、戻り値は[oj.ojButtonoj.ojMenuButton]になります。

getClassFromTag(string tagName) 文字列| null

tagNameはHTML要素名です(囲み山カッコありまたはなしで指定)。

指定されたJET要素名(oj-tableなど)のクラス(例: oj.ojTable)を返します。tagNameが定義済のJET要素名ではない場合、nullを返します。

getTagFromClass(string className) 文字列| null

classNameはJETクラス名です。

指定されたクラス名(oj.ojTableなど)のJET要素名(例: oj-table)を返します。classNameが既知のJETクラスではない場合、nullを返します。

getClassFromModule(string module) 文字列| null

moduleは、ojs/arraydataproviderなどの仕様です。

指定されたモジュール・パス(ojs/arraydataproviderなど)のクラス(例: oj.ArrayDataProvider)を返します。

getTagPropType(string tagName, string propName) 文字列| null

このメソッドは、JAFリリース7.0.0以降は非推奨です。現在はgetTagAttrType()を使用する必要があります。

tagNameはWebコンポーネント名です(囲み山カッコなしで指定)。propNameは、component.jsonプロパティで指定されているプロパティの名前です。

Oracle JAF構成プロパティcomponentsで定義されているため、起動時にJAFによって検査されたWebコンポーネントの場合。

Oracle JAF component.jsonファイルのプロパティに定義されているプロパティ・タイプ(typeサブプロパティ)を返します。

getTagPropertyFromEvent(string tagName, string eventAttrName) 文字列| null

タグ・イベント属性からプロパティ名を返します。たとえば:

getTagPropertyFromEvent('oj-pop-up', 'on-oj-before-close')   -->   'ojBeforeClose'
getTagPropertyFromEvent('oj-pop-up', 'onOjBeforeClose')      -->   'ojBeforeClose'
isBindingTag(string tag) ブール

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。

要素タグが@ojbindingelement (oj-bind-ifoj-bind-for-eachなど)で定義されている場合、trueを返します。

isClass() ブール

コンポーネント/クラスがJETクラス名(例: oj.ArrayDataProvider)の場合、trueを返します。

isClassRenamed(string className) オブジェクト| null

classNameはJETクラス名です(例: oj.ArrayDataProvider)。

新しい名前のオブジェクトと名前が変更されたJETのバージョンを返します。たとえば:

{  
  to : "new class name",
  since :  "x.y.z"
}

クラスの名前が変更されていない場合はnullを返します。

isClassDeleted(string className) 文字列| null

classNameはJETクラス名です(例: oj.ojAccordian)。

コンポーネント/クラス(例: oj.RouterStateoj.ojTree)がバージョンから削除されているかどうかをテストし、削除されている場合は、削除された(セマンティック)バージョンを返します。削除されていない場合、nullを返します。

isClassDeprecated(string className) 文字列| null

classNameはJETクラス名です(例: oj.ojAccordian)。

コンポーネント/クラス(例: oj.RouterStateoj.ojTree)のステータスが非推奨かどうかをテストし、非推奨の場合は推奨される代替方法を返します。推奨される代替は、クラスのAPIドキュメントで開発者が指定した文字列です。非推奨でない場合、nullを返します。

isClassMethodDeleted(string className, string methodName) 文字列| null

classNameはJETクラス名(例: oj.ojAccordian)です。methodNameはクラスのメソッドです。

コンポーネント/クラス(例: oj.RouterStateoj.ojTreeなど)メソッドがバージョンから削除されているかどうかをテストし、削除されている場合は、削除されたバージョンを返します。メソッドが削除されていない場合、nullを返します。

isClassMethodDeprecated(string className, string methodName)

Array.<Object> | null

文字列| null

classNameはJETクラス名(例: oj.ojAccordion)です。methodNameはクラスのメソッドです。

JETコンポーネント/クラス(例: oj.ojDialog)メソッドのステータスが非推奨であるかどうかをテストし、非推奨の場合は推奨される代替方法やバージョンなどの情報を返します。複数のエントリが返される可能性があり、各オブジェクトのtargetプロパティに関連性があるかどうかを確認する必要があります。各オブジェクトは、component.json非推奨タイプのstatusオブジェクト形式です。

JAF 3.1.0より前: コンポーネント/クラス(例: oj.RouterStateoj.ojTreeなど)メソッドのステータスが非推奨かどうかをテストし、非推奨の場合は推奨される代替方法を返します。推奨される代替は、クラスのAPIドキュメントで開発者が指定した文字列です。メソッドが非推奨でない場合、nullを返します。

isClassMemberDeleted(string className, string memName) 文字列| null

classNameは、JETクラス名(例: oj.ojAccordian)です。memNameは属性名です。

コンポーネント/クラス(例: oj.RouterStateoj.ojTreeなど)メンバーがバージョンから削除されているかどうかをテストし、削除されている場合は、削除されたバージョンを返します。メンバーが削除されていない場合、nullを返します。

isClassMemberDeprecated(string className, string memName)

Array.<Object> | null

文字列| null

classNameは、JETクラス(例: oj.ojAccordion)です。memNameは属性名です。

JETコンポーネント/クラス(例: oj.ojDialog)メソッドのステータスが非推奨であるかどうかをテストし、非推奨の場合は推奨される代替方法やバージョンなどの情報を返します。複数のエントリが返される可能性があり、各オブジェクトのtargetプロパティに関連性があるかどうかを確認する必要があります。各オブジェクトは、component.json非推奨タイプのstatusオブジェクト形式です。

JAF 3.1.0より前: コンポーネント/クラス(例: oj.RouterStateoj.ojTreeなど)メンバーのステータスが非推奨かどうかをテストし、非推奨の場合は推奨される代替方法を返します。推奨される代替は、クラスのAPIドキュメントで開発者が指定した文字列です。メンバーが非推奨でない場合、nullを返します。

isClassFinal(string className) ブール

classNameはJETクラス名です(例: oj.Module)。

クラスがfinalである場合、trueを返します。

isClassMethodFinal(string className, string methodName) ブール| null

classNameはJETクラス名(例: oj.Module)です。methodNameはクラスのメソッドです。

メソッドが静的な場合はtrue、それ以外の場合はfalseを返します。classNameまたはmethodNameが定義されていない場合、nullを返します。

getClassMethodScope(string className, string methodName) 文字列| null

classNameはJETクラス名(例: oj.Module)です。methodNameはクラスのメソッドです。

instanceまたはstaticを返します。classNameまたはmethodNameが定義されていない場合、nullを返します。
getDeletedMethodList() オブジェクト

削除されたメソッドのリストをルール・ヘルパーとして作成します。

プロパティとしてメソッド名を持つオブジェクトを含む{Array.<Object>}を返します。各プロパティ値は、削除されたクラス名の配列であり、その後に削除されたバージョンが続きます。

getDeletedMemberList() オブジェクト

削除されたメンバーのリストをルール・ヘルパーとして作成します。プロパティとしてメンバー名を持つオブジェクトを含む{Array.<Object>}を返します。各プロパティ値は、削除されたクラス名の配列であり、その後に削除されたバージョンが続きます。

isRuleIgnored(string tag, string ruleName) ブール

tagはHTML要素名です(囲み山カッコありまたはなしで指定)。ruleNameは、除外をテストするルールの名前です。

コンポーネントのルールが除外されるかどうかを、そのコンポーネントのオプションのextensionメタデータでの外観によってテストします。たとえば:

{
   . . .
   "extension" : {
      "audit" : {
         "ignore" : [rulename1, rulename2, ...]
      }      
   }
   . . .
}

このメソッドは、コンポーネントのメタデータでルール名が宣言されている場合はtrueを返し、それ以外の場合はfalseを返します。

getRenamedClassList() オブジェクト

名前が変更されたJETクラスのリストを取得します。次のオブジェクトが返されます。

{
   "old_classname": {                           // e.g.  "oj.ArrayDataProvider"
                      to    : "new_classname",  // e.g.  "ArrayDataProvider"
                      since : "a.b.c"           // e.g.  "8.2.0"
                    },
                    . . .
}
getRevisionInfo() オブジェクト

次のプロパティを持つオブジェクトを返します:

  • jetVersion -メタデータのJETバージョン。(文字列)
  • revision -現在のGITからのJETソース・リビジョン情報。(文字列)
  • tag - JETソースGITタグ(文字列)
getMetaVers() オブジェクト

次のプロパティを持つオブジェクトを返します:

  • versions -サポートされているJETバージョンおよびビルド日。(オブジェクト)
    {
      "6.2.2" : {
                  "date" : "ddddddd",
                  "time" : "ttttttt"
                },
      . . .
    }
  • default -構成プロパティmetaVerが省略されている場合のデフォルトのJETバージョン。(文字列)
getSubcomponentType() 文字列 コンポーネントのsubcomponentTypeメタデータ・プロパティを文字列(packPrivatedataなど)として返します。
isInterfaceImplemented() (string tagName, string interfaceName) 指定されたインタフェース名がtagNameコンポーネントによって実装されている場合、trueを返します
getInterfaces() Array<string> 参照されるコンポーネントtagName (例: oj-button)によって実装されたインタフェースの名前を含む配列を返します。
getImplementers() Array<string> 指定されたインタフェースを実装するコンポーネントの名前の配列を返します。
hasJetWCInterfaces() ブール

(config jetVerプロパティを介して)選択されたJETメタデータにWebコンポーネント・インタフェース情報が含まれているかどうかをテストします。

hasWCInterfaces() ブール

JAF (JETまたは非JET)に認識されるWebコンポーネントがインタフェースを実装しているかどうかをテストします。

getWCInterfaces() オブジェクト
JAFに認識されるWebコンポーネントが実装済のインタフェースを宣言している場合は、次の形式のオブジェクトが返されます:
{
            interface_name_1 : [component_tag_1,  . . .],
            interface_name_2 : [component_tag_3,  . . .],
             . . .
            }
walkDomStackForOJTag(Object context [, boolean excludeBindIf]) 文字列| null

contextは、ルールに渡されるコンテキスト・オブジェクトです。

便利な方法です。現在の要素からDOMをさかのぼって、JET親要素が含まれているかどうかを確認します。見つかった場合、JET要素の名前が返されます。オプションの引数excludeBindIfを使用して、確認中に<oj-bind-*>要素を無視できます。

getStyleOrigin() 文字列 スタイルがJETコンポーネント・スタイル、JET汎用スタイル・クラス、またはJET以外のユーザー・カスタム・スタイルのどれであるかを示すコードを返します。
isTagPackPrivate() ブール Webコンポーネントがメタデータ内でpackPrivateとしてマークされている場合は、trueを返します。

Utils: 一般的な非ファイル・システム関数

Utilsは、非ファイル・システム・ユーティリティ関数のコレクションです。

これらの非ファイル・システム・ユーティリティ関数には、ルール・コンテキスト・オブジェクト・プロパティcontext.utils.utilsを介して、ライブラリ・オブジェクトのインスタンスとしてアクセスします。監査ルールを作成する際に役立ちます。

メソッド 戻り値 説明
hasAnyProps(Object object) ブール オブジェクトに継承されていないプロパティがある場合、trueを返します
isProperty(Object object, string name) ブール オブジェクトに名前付きプロパティがある場合、trueを返します。プロパティ名は、extension.catalog.readmeのように、ドット区切りの複合名にすることができます。
getProperty(Object object, string name) * オブジェクトの名前付きプロパティ値を返します。プロパティ名は、extension.catalog.readmeのように、ドット区切りの複合名にすることができます。
getType(* varName) 文字列 変数の型を返します。この関数は、true型の値を返します。たとえば、typeof演算子は配列に対してobjectを返しますが、この関数はarrayを返します。次の値が返されます(すべて小文字): objectarraystringnumberbooleannullundefined
isArrayContentsType( array[] array, string type) ブール 配列を走査して、各要素の型を指定されたtype文字列(小文字)に一致させます。type文字列は、objectarraystringnumberbooleannullまたはundefinedのいずれかです
eatWhitespace( string string, number startIndex) 数値 文字列を走査し、オプションでstartIndex索引から開始して、索引を最初の非空白文字に戻します。非空白が見つからない場合、1を返します。startIndexが省略されるか無効な場合、デフォルトでゼロになります。
getIndexToWhitespace(string string, number startIndex) 数値 文字列を走査し、オプションでstartIndex索引から開始して、索引を最初の空白文字に戻します。空白が見つからない場合、-1を返します。startIndexが省略されるか無効な場合、デフォルトでゼロになります。
decommentJson() 文字列

JSON文字列の//および/* */シーケンスを空白に置き換えて、コンテンツ・トークンの相対的な行/列の位置を保持します。

parseJson() * JSON文字列を解析し、解析されたオブジェクト、または構文エラー・メッセージを含むエラー・オブジェクトを、必要に応じてメッセージの補強に使用できる補足位置情報とともに返します。

FsUtils: ファイル・システム関数

FsUtilsは、ファイル・システム・ユーティリティ関数のコレクションです。

これらのファイル・システム・ユーティリティ関数には、ルール・コンテキスト・オブジェクト・プロパティcontext.utils.fsUtilsを介して、ライブラリ・オブジェクトのインスタンスとしてアクセスします。監査ルールを作成する際に役立ちます。

メソッド 戻り値 説明
getFileTypeSync(string filePath) 文字列|エラー

filePathのファイルを確認し、次を返します:

  • f - ファイル
  • d - ディレクトリ

エラーが発生した場合、エラー例外オブジェクトが返されます。パスがシンボリック・リンクの場合、そのリンク・ターゲットのファイル・タイプ("f"や"d"など)が返されます。パスがsymlinkを表すかどうかを決定するには、isSymLink()を使用します。

getFileExtSync(string filePath) 文字列 指定されたパスのファイル拡張子を返します。パスがシンボリック・リンクの場合、そのリンクのターゲット・ファイルのファイル拡張子が返されます。ファイル・パスにアクセスできない場合、空の文字列が返されます。
isSymLinkSync(string filePath) ブール ファイル・パスがシンボリック・リンクの場合はtrue、それ以外の場合はfalseを返します。ファイル・パスの処理中にエラーが発生した場合、falseが返されます。
pathExistsSync(string filePath) ブール ファイル・パスが存在する場合、trueを返します。
fileExistsSync(string filePath [, boolean dir ] ) ブール ファイル/ディレクトリが存在する場合はtrue、それ以外の場合はfalseを返します。
readFileSync(string filePath [, boolean error | Function error(string message)] 文字列| null

テキスト・ファイルを読み取り、内容を文字列として返します。失敗した場合はnullを返します。

ファイルの読取りに失敗した場合に実行されるアクションは、オプションの引数errorによって異なります:

  • ブールtrueの場合、例外がスローされます。

  • ブールfalseの場合、エラー文字列が返されます。

  • 省略すると、関数はnullを返します。

  • 関数が定義されている場合、関数はエラー・メッセージを表す文字列引数を使用して呼び出され、readFileSync()の戻り値はnullになります。

readFileBufSync(string filePath [, boolean error | Function error(string message)] バッファ| null

テキスト・ファイルを読み取り、内容をバッファとして返します。失敗した場合はnullを返します。

ファイルの読取りに失敗した場合に実行されるアクションは、オプションの引数errorによって異なります:

  • ブールtrueの場合、例外がスローされます。

  • ブールfalseの場合、エラー文字列が返されます。

  • 省略すると、関数はnullを返します。

  • 関数が定義されている場合、関数はエラー・メッセージを表す文字列引数を使用して呼び出され、readFileBufSync()の戻り値はnullになります。

readJsonSync(string filePath [, boolean comments [, boolean | Function error ]] ) オブジェクト|文字列| null

JSONファイルを読み取り、オブジェクトを返します。

オプションの引数commentstrueに設定されている場合、JSONでコメントが許可されます。

オプションの引数errorを使用すると、エラーの処理方法を指定できます:

  • trueの場合、例外がスローされます。

  • falseの場合、エラー文字列が返されます。

  • 省略すると、関数はnullを返します。

  • 関数が定義されている場合、関数はエラー・メッセージを表す文字列引数を使用して呼び出され、readJsonSync()の戻り値はnullになります。

エラー文字列の先頭には、SYNTAX:またはNOFILE:が付きます。

writeJsonSync(Object obj, string filePath [, Object opts [, boolean | Function error ]] ) ブール|文字列

オブジェクトをJSONファイルとして指定されたファイル・パスに書き込み、trueを返します。

オプションのオブジェクトoptsには、次のオプションのプロパティがあります:

  • spacesには、各行をインデントする数値、または各行の先頭に付ける文字列を指定できます。

  • replacerは、JSON stringifer()のリプレーサです。

オプションの引数errorを使用すると、エラーの処理方法を指定できます:

  • trueの場合、戻り値はありません(エラーがスローされます)

  • falseの場合、エラー文字列が返されます。

  • 関数が定義されている場合、関数はメッセージ文字列引数を使用して呼び出され、writeJsonSync()falseを返します。

errorを省略すると、falseが返されます。

readDirSync(string filePath) 配列| null

ディレクトリを読み取り、次の形式のオブジェクトの階層配列を返します:

[
  {
    name : "filename1",       // for file in a folder
    isFile : true
  },
  {
    name : "directory1",      // for each sub-folder 
    isFile : false,
    files : [
              {
                name : "filename1",
                isFile : true
              },
              ...
            ]
  },
  ...
]
walkDirSync(string dirPath, Function cb, [boolean fwdSlash]) なし

ファイルまたはサブディレクトリへのフルパスを使用してコールバック関数を呼び出すディレクトリ・ツリーを再帰的に調査します。

dirPathは、調査する最初のディレクトリ・パスです。

cbは、次の引数を受け取るコールバック関数です:

     (string fpath, string ftype)
        fpath is the full file or sub-directory path
        ftype = 'f' for a file, 'd' for a sub-directory, 'l' for a symbolic link.

オプションの引数fwdSlashtrueに設定されると、コールバック内のfpath文字列は、Windowsでエスケープされる"\\" (見つかった場合)のかわりにスラッシュを使用するように強制されます。

通常、コールバック関数は何も返しません。ただし、オプションで返すことができます

    "exit"      to terminate the walk,
    "direxit" to  terminate further walking of the current sub-directory

たとえば、ディレクトリ・ツリー内のすべての.JSファイルを検索するには:

walkDirSync("some/path", (fpath, ftype) => {
 
         if (ftype === "f" && fpath.endsWith(".js")) {
             // do something
         }
}) ;

ディレクトリ内のファイルを読み取るときに、サブディレクトリが見つかった場合は、そのサブディレクトリが次に調べられます。

createFolderSync(string filePath) ブール
フォルダを作成します。ファイル・パスには、作成する必要のある複数のフォルダを含めることができます。たとえば:
createFolder("./folder1/folder2/folder3") ;

ノート: folder3、folder2およびfolder1は、存在しない場合は作成されます。

deleteFolderSync(string filePath [, boolean deleteTarget]) なし filePathで指定されたディレクトリのコンテンツ(ファイル/ディレクトリ/サブディレクトリ)を削除します。オプションの引数deleteTargetが指定され、trueの場合は、filePathによって指定されたディレクトリも削除されます。
getUniqueFilenameSync(string template) 文字列
テンプレートに基づいて、一意のファイル名を返します。文字Xのすべてのインスタンスが置換されます。たとえば:
getUniqueFilename('@@users-XXXXXX.tmp')

@@users-wKFMN5が返されます。

SemVerUtils: セマンティック・バージョン関数

SemVerUtilsは、セマンティック・バージョン(SemVer)ユーティリティ関数のコレクションです。

これらのセマンティック・バージョン・ユーティリティ関数には、ルール・コンテキスト・オブジェクト・プロパティcontext.utils.semVerUtilsを介してアクセスします。これらは監査ルールを作成する際に役立ちます。すべてのメソッド引数は文字列です。

メソッド 戻り値 説明
isValid(string semver) ブール

semver文字列が有効なセマンティック・バージョンの構文である場合、trueを返します。

isValidRange(string semver) ブール

semver文字列が有効なSemVerコンパレータの範囲である場合、trueを返します。

satisfiesRange(string semver, string range) ブール

semverrangeを満たす場合、trueを返します。

minVersion( string range) 文字列| null

指定された範囲に一致する可能性がある、最も低いバージョンを表すmajor.minor.patch文字列を返します。rangeが無効な場合、nullが返されます。

たとえば、minVersion('>=1.0.0')'1.0.0'を返します。

JAFバージョン2.9.9以降が必要です。

prerelease( string semver) 配列| null

semverから抽出されたプレリリース・タグの配列を返します。semverにプレリリース・タグが含まれていない場合(またはsemverが無効な場合)、nullが返されます。

たとえば、prerelease('1.2.3-alpha.1')['alpha', 1 ]を返します。

JAFバージョン2.9.9以降が必要です。

eq(string semver1, string semver2) ブール

2つのsemversを比較し、それらがまったく同じ文字列でなくても、論理的に等しい場合は、trueを返します。

lt(string semver1, string semver2) ブール

2つのSemVerを比較し、semver1semver2より小さい場合は、trueを返します。

lte(string semver1, string semver2) ブール

2つのSemVerを比較し、semver1semver2以下の場合は、trueを返します。

gt(string semver1, string semver2) ブール

2つのSemVerを比較し、semver1semver2より大きい場合は、trueを返します。

gte(string semver1, string semver2) ブール

2つのSemVerを比較し、semver1semver2以上の場合は、trueを返します。

major(string semver) 数値

semverからメジャー・バージョン番号を返します。

minor(string semver) 数値

semverからマイナー・バージョン番号を返します。

patch(string semver) 数値

semverからパッチ・バージョン番号を返します。

parse(string semver) オブジェクト| null

semverをオブジェクトに解析します。semverが無効な場合、nullが返されます。

たとえば、parse('1.2.3-alpha.1')は次を返します:

{
   "options" : {
      "loose" : false,
      "includePrerelease" : false
   },
   "loose" : false,
   "raw" : "1.2.3-alpha.1",
   "major" : 1,
   "minor" : 2,
   "patch" : 3,
   "prerelease" : [ "alpha", 1 ],
   "build" : [],
   "version" : "1.2.3-alpha.1"
}

JAFバージョン2.9.9以降が必要です。

DomUtils: ノード・オブジェクト関数

DomUtilsは、Document Object Model (DOM)ユーティリティ関数およびヘルパー関数のコレクションです。

これらのDOMユーティリティ関数には、ルール・コンテキスト・オブジェクト・プロパティcontext.utils.DomUtilsを介してアクセスします。ほとんどのメソッドでは、context.nodeにあるnodeオブジェクトを使用します。一部のメソッドでは、属性名または要素名の文字列が必要です。

メソッド 戻り値 説明
getName(Object node) 文字列 指定されたノードの要素名を返します。
getType(Object node) 文字列 ノードのタイプ(tagdirectiveまたはcomment)を返します。
getChildren(Object node) ノード[] 指定されたノードの子ノード・オブジェクトの配列を返します。
getParent(Object node) ノード 指定されたノードの親ノード・オブジェクトを返します。
getSiblings(Object node) ノード[] 指定されたノードの兄弟ノード・オブジェクトの配列を返します。
getAttribs(Object node) オブジェクト 属性の名前/値プロパティを含むオブジェクトを返します。
getAttribValue(Object node, string[] attrName) 文字列 指定された属性値を返します。
hasAttrib(Object node, string attrName) ブール ノードに名前付き属性がある場合はtrue、それ以外の場合はfalseを返します。
hasChildren(Object node) ブール ノードに子がある場合はtrue、それ以外の場合はfalseを返します。
hasNext(Object node) ブール 次のノードがある場合はtrue、それ以外の場合はfalseを返します。
getNext(Object node) ノード 次のノードを返し、それ以外の場合はnullを返します。
getFirst() ノード 最初(最上位)のノードを返します。
getFirstElem() ノード 最初(最上位)のタグ・ノードを返します。
getLast() ノード 最後のノードを返します。
getElemsByName(string elemName) ノード[] 指定された要素名(divなど)を持つノード・オブジェクトの配列を返します。
getElemById(string id) ノード 指定されたid属性値を持つ要素のノードを返します。
getBody() ノード <body>ノード(見つからない場合はnull)を返します。
getHead() ノード <head>ノード(見つからない場合はnull)を返します。
getLinks() node[] <head>セクションの<link>タグ・ノードの配列(何も見つからない場合は空の配列)を返します。
getScripts() node[] <head>セクションの<script>タグ・ノードの配列(何も見つからない場合は空の配列)を返します。
getElems() ノード[] すべての要素のノード・オブジェクトの配列を返します。(テキスト、コメント、ディレクティブなどのノードは無視されます。)

DomUtilsには、ルールを作成する際に役立つ追加の非DOMツリーのヘルパー関数も含まれています。

メソッド 戻り値 説明
extractAttribsFromDataBind(string attrValue) オブジェクト| null attrプロパティを持つdata-bindを指定すると、各プロパティがdata-bind文字列から抽出された名前/値を示すオブジェクトを返します。
extractComponentFromDataBind(string attrValue) 文字列| null data-bind属性値を指定すると、インスタンス化されたJETコンポーネント名を返します。見つからないか、JETコンポーネントでない場合はnullを返します。
getAttribIndex(string data, Object node, string attrName) 数値 ノードの名前付き属性のデータ内の位置(ゼロからの相対位置)を返します。
getAttribPosition(string data, Object node, string attrName) オブジェクト

データ内のノードの名前付き属性の位置を返します。オブジェクトには次のメンバーがあります:

  • row : 番号
  • col: 番号
  • start: ファイル・データ内の属性の値に対する番号//インデックス(ゼロからの相対位置)
  • end: ファイル・データ内の属性の値の最後の文字に対する番号//インデックス

このメソッドは、ルールがタグ・ノード・イベントをリスニングするが、特定のタグ属性の値の位置をレポートする必要がある場合に便利です。この情報は、setPosition()メソッドを介してIssueオブジェクトに適用できます。

getAttribValuePosition(string data, Object node, string attrName) オブジェクト

タグ・ノードのデータにおける名前付き属性の値の位置を返します。オブジェクトには次のメンバーがあります:

  • row: 番号
  • col: 番号
  • start: ファイル・データ内の属性に対する番号//インデックス(ゼロからの相対位置)
  • end: ファイル・データ内の属性の最後の文字に対する番号//インデックス

このメソッドは、ルールがtagまたはojtagイベントをリスニングするが、タグ内の特定の属性についてレポートする必要がある場合に便利です。この情報は、setPosition()メソッドを介してIssueオブジェクトに適用できます。

getLineCol(string data, number index number) オブジェクト
指定されたインデックスの行および列をファイル・データに返します。オブジェクトには次のメンバーがあります:
  • row: 番号
  • col: 番号
getComponentElems() ノード[] JETカスタム要素のノードの配列を返します。
getDataBindAttrs(Object context) オブジェクト| null コンテキスト内の現在のノードを確認します。このノードにattrプロパティを持つdata-bind属性が含まれている場合、各プロパティがdata-bind文字列から抽出された名前/値を示すオブジェクトを返します。
getDataBindComponent(Object context) 文字列| null コンテキスト内の現在のノードを確認します。このノードにdata-bind属性が含まれている場合、JETコンポーネント名(属性値に定義されている場合)を抽出します。
getElemById(string id [, boolean labelId]) オブジェクト| null 指定されたid属性値を持つノードのDOMを検索し、見つかった場合はDOMツリー・ノードを返します。オプションの引数labelIdtrueに設定されている場合、検索にはlabel-id属性も含まれます。
hasBody(Object context) ブール HTMLページに<body>要素がある場合、trueを返します。
isChildOfElem(string elemName, Object node) ブール DOMツリー・ノードがelemNameという名前の要素の子である場合、trueを返します。
isCommonAttr(string attrName) ブール 指定された属性が標準定義のxxxである場合、trueを返します。(ノート: attrNameの接頭辞に':'が付いている場合、その接頭辞は無視されます。)
isCommonElem( string elemName) ブール 指定された要素が標準定義のxxxである場合、trueを返します。
isCommonEventAttr(string attrName) ブール 指定された属性が標準xxx定義のxxxである場合、trueを返します。(ノート: attrNameの接頭辞に':'が付いている場合、その接頭辞は無視されます。)
isHtml5ObsoleteElem(string elemName) ブール 指定された要素がHTML5で廃止されている場合、trueを返します
isHtml5ObsoleteAttr(string elemName, string attrName) ブール

指定された要素の属性がHTML5で廃止されている場合、trueを返します。

ノート: 戻り値は無条件です。評価が必要な追加の例外条件が存在する場合があります(たとえば、<img>border属性)。xxxを参照してください。

isJetPage(Object context) ブール oj-で始まる名前を持つ要素が1つ以上ある場合、trueを返します
isNamespaceTag(string tagName) ブール oj-で始まるWebコンポーネント要素名(たとえばoj-ext-foo)を指定すると、xxx内に接頭辞(この例ではoj-ext)が定義されている場合はtrueを返します。
isNamespacePrefix(string tagPrefix) ブール oj-で始まるWebコンポーネント名の接頭辞(たとえばoj-ext)を指定すると、xxx内に接頭辞が定義されている場合はtrueを返します。
isNonFragmentJetPage(Object context) ブール HTMLページに<body>があり、1つ以上のJETコンポーネント要素もある場合、trueを返します。
isSvgElem(string elemName) ブール 要素名がSVG要素である場合、trueを返します
isValidJson(string json) ブール|文字列 文字列がJSONであるかどうかを確認し、JSONである場合は検証します。文字列が有効なJSONであるかJSONではない場合、trueが返されます。JSONであり、形式が正しくない場合、メッセージ文字列が返されます。(ノート: JSONには、//および/* . . . */スタイルのコメントを含めることができます。これらは無視されます。)
isValidSvgPath(string svg) ブール 文字列が有効なSVGパスであると思われる場合、trueが返されます。これは構文的に正しいSVGであるかについてパスを検証するわけではないことに注意してください。
isExpression(string ) ブール 文字列に有効な式デリミタ{{. . .}}および[[. . .]]があり、それらが正しく一致している場合は、trueを返します。
getExpression(string ) 文字列|null 式デリミタ{{. . .}}および[[. . .]]に含まれる式を返します。式でない場合、または式が有効に区切られていない場合は、nullが返されます。
camelCase(string prop) ブール ケバブケース・プロパティー文字列からキャメルケース文字列を返します。
kebabCase(string prop) ブール キャメルケース・プロパティ文字列からケバブケース文字列を返します。
kebabCaseEvent(string prop) ブール キャメルケース・イベント名からケバブケース文字列を返します。

JafLib: JAFコア・アクセス・メソッド

JafLibは、公開されているコアOracle JAFライフサイクル・メソッドのライブラリです。

これらのメソッドには、ルール・コンテキスト・オブジェクト・プロパティcontext.utils.jafLibを介してアクセスします。

メソッド 戻り値 説明

setFileset(Objectcontext, string[] fileset[, string[] exclude])

ブール

監査するファイル・セットを設定します。これは、構成ファイルのfilesおよびexcludeプロパティの動的な置換です。filesetおよびオプションのexcludeは、フル・ファイル・パスの配列を指定します。グロブを使用できます。contextはルール・コンテキスト・オブジェクトです。

成功した場合はtrue、それ以外の場合はfalseを返します。

これはフック・ルールを作成する際に役立ちます。このメソッドは、監査ライフサイクルのstartauditフェーズでのみ使用できます。

getFileset(Object context) オブジェクト

同じプロパティ名を持つオブジェクトのfilesおよびexclude構成プロパティを返します。

contextはルール・コンテキスト・オブジェクトです。

オブジェクト・プロパティの値を変更しないでください。filesおよび/またはexcludeプロパティを変更するには、setFileset()を使用します。

これをsetFileset()と組み合せて使用して、エントリをマージまたは削除できることに注意してください。

これはフック・ルールを作成する際に役立ちます。このメソッドは、監査ライフサイクルのstartauditフェーズでのみ使用できます。

getConfig() オブジェクト

構成プロパティ値を返すgetterメソッドを持つオブジェクトを返します。「JafLib: 構成オブジェクト・プロパティのGetterメソッド」を参照してください。

getTsConfig() オブジェクト

tsconfig.jsonをオブジェクトとして返します。

getRunMode() 文字列 JAF実行モードを表す文字列を返します。値は、cliapiまたはamdです。現在、CLIモードでのみ実行できます。
isCLI() ブール CLIモード(現在使用可能な唯一のモード)で実行している場合、trueを返します。
isAPI() ブール 現在、falseを返します。APIモードは、将来のサポートのために予約されています。
isAMD() ブール 現在、falseを返します。AMDモードは、将来のサポートのために予約されています。
getJafVer() 文字列 JAFバージョンSemVerを返します(例: 3.12.4)。
getJetVer() 文字列 JETメタデータ・バージョンSemVerを返します。たとえば: 9.2.3。

JafLib: 構成オブジェクト・プロパティのGetterメソッド

JafLibは、JAF構成プロパティ値にアクセスするためのgetConfig()メソッドを公開します。

JafLib.getConfig()によって返される構成オブジェクトには、構成プロパティ値を返すメソッドが含まれます。起動時の構成分析のため、返されるプロパティ値が必ずしも同じ値を反映しているとはかぎりません。たとえば、構成プロパティthemeが定義されていない場合、Config.getTheme()はデフォルト値altaを返し、undefinedは返しません。

メソッド 返される構成プロパティ
getComponents() components
getComponentsBase() componentsBase
getComponentsBaseUrl() componentsBaseUrl
getComponentOptions() componentOptions
getDisable() ruleMods.disable
getEcmaVer() cmaVer
getEnable() ruleMods.enable
getExclude() exclude
getFiles() files
getGroups() groups
getJetVer jetVer
getMessages() messages
getOptions() options
getOutPath() outPath
getRuleDescriptions() ruleDescriptions
getRuleMods() ruleMods
getRuleNames() ruleNames
getRulePacks() rulePacks
getTheme() theme
getTypescript() typescript
getTsConfig() typescript.tsconfig
getTsConfigObj() typescript.tsconfigサブプロパティで定義されたパスで見つかったtsconfig.jsonをオブジェクトとして返します。
isBuiltinJetRules() builtinJetRules
isBuiltinJetWcRules() builtinJetWcRules
isBuiltinSpocRules() bultinSpocRules

MsgLib: メッセージ表示関数

MsgLibは、Oracle JAF内部メッセージング・ルーチンへのアクセスを提供するネームスペース・プロパティです。

これらの内部メッセージング・ルーチンには、ルール・コンテキスト・オブジェクト・プロパティcontext.utils.msgLibを介して、ライブラリ・オブジェクトのインスタンスとしてアクセスします。これらは、条件付きメッセージと無条件メッセージを出力に書き込む機能を監査ルールに提供する必要がある場合に役立ちます。コンテキスト・プロパティsysOptsも参照してください。

メソッド 説明
msg() 一般的なメッセージ文字列をコンソールに書き込みます。たとえば、msgLib.msg("this is a message")です。
info() 冗長モードがオンの場合にのみ、メッセージ文字列をコンソールに書き込みます。たとえば、msgLib.msg("this is only displayed in verbose mode")です。メッセージの前には[info]:が付きます。
debug() デバッグ・モードがオンの場合にのみ、メッセージ文字列をコンソールに書き込みます。たとえば、msgLib.debug("this is only displayed in debug mode")です。メッセージの前には[debug]:が付きます。
error() メッセージをコンソールに書き込みます。たとえば、msgLib.error("this is an error message")です。メッセージの前には[error]:が付きます。
assert() メッセージ文字列をコンソールに書き込みます。たとえば、msgLib.assert("this is an assertion message")です。メッセージの前には[ASSERT]:が付きます。

CssUtils: CSSユーティリティ関数

CssUtilsは、CSSルール処理関数のライブラリです。

これらの関数には、ルールが呼び出されたときの登録コンテキスト・オブジェクトまたは登録済リスナーに渡されたルール・コンテキスト・オブジェクトで、コンテキスト・プロパティcontext.utils.CssUtilsを介してアクセスします。これらの関数は、CSSルールを作成する際に役立ちます。

メソッド 戻り値 説明
isColorName(string name ) ブール

文字列がCSS定義色(たとえば"coral")の場合、trueを返します。CSS Color Module Level 4のすべてのカラー名を受け入れます。

isMarkerstyle(string style ) ブール

スタイル文字列がOracle JETマーカー・スタイルである場合、trueを返します。

getPosition(Object context, Object loc) オブジェクト

CSS抽象構文ツリー(AST)内のloc位置ノードを、Issue.setPosition()に渡すのに適した位置オブジェクトに変換します。結果となる位置オブジェクトが、CSSテキストの起点に合せて調整されます。

AstUtils: JavaScriptファイル・ヘルパー関数

AstUtilsは、抽象構文ツリー(AST)のヘルパー関数のコレクションです。

これらの関数には、ルール・コンテキスト・オブジェクト・プロパティcontext.utils.AstUtilsを介してアクセスします。これらはJavaScriptファイルの監査ルールを作成する際に役立ちます。たとえば:

var node = ruleContext.utils.AstUtils.getBody();  // get the array of program body nodes
名前 戻り値 説明
getBlock(Object node) ノード 指定されたノードが存在するブロック・ノードを返します。ノードが指定されていない場合、外側のプログラム・ブロックが返されます。
getBody(Object node) 配列[] 指定されたノードを含むノードのbody配列を返します。ノードが指定されていない場合、プログラムの本体が返されます。
getProgram() ノード プログラム・ノードを返します。
isFuncArg(Object node, string var) 変数が関数の引数である場合はtrue、それ以外の場合はfalse 関数本体のノードの式で見つかった変数が、その関数の引数として宣言されているかどうかをテストします。
isCommonDocApi(string methodName) メソッドが共通のDocumentメソッドである場合はtrue メソッドが共通のDocumentメソッド(たとえばgetElementById())であるかどうかをテストします。
parseDefine(Object node)

次の形式のメンバーを含むオブジェクト:

<function arg> : <module path>

KO define文を解析します。
getNodeTypes()

次の形式のメンバーを含むオブジェクト:

<function arg> : <module path>

JavaScriptのオブジェクト・マッピングの省略されたノード型を戻します。詳細は、JavaScript/TypeScriptルールのリスナー・タイプのノード・タイプ定数のリストを参照してください。

SevLib: 重大度サポート・ヘルパー関数

SevLibは、Oracle JAF構成プロパティsevMapを介して再マップされている重大度レベルの処理をサポートするヘルパー関数のコレクションです。

これらの関数には、ルール・コンテキスト・オブジェクト・プロパティcontext.utils.SevLibを介してアクセスします。これらは監査を作成する際に役立ちます。

名前 戻り値 説明
map(string sev) 文字列 重大度をマップします。重大度がマップされていない場合、アンマップされた重大度が返されます。たとえば、map("major")は、マップされた値を返し、再マップされていない場合はmajorを返します。
unmap(string sev) 配列.<文字列> 重大度のマップを解除します。重大度がマップされた重大度値を表していない場合、指定された重大度が返されます。マッピングされていない重要度が複数ある場合は、マッピングされていないすべての重要度文字列が配列で返されます。たとえば、次の場合:
"sevMap" :{
    "sevSet" : {
        "blocker" :  "mustfix",
        "critical" : "mustfix", 
        "major" :    "mustfix",
        "minor" :    "warning",
        "info" :     "warning"
    }
}

context.utils.sevLib.unmap('mustfix')["blocker","critical","major"]を返します。

isMapped(string sev) ブール 重大度が再マップされた重大度であるかどうかをテストします。
getList() 配列.<文字列> JAFのデフォルトの重大度の配列を返します。たとえば、blockercriticalなどを優先度の昇順に並べます。
getMap() オブジェクト プロパティがJAFのデフォルトのプロパティであり、対応する値がユーザーにマップされた重大度であるオブジェクトを返します。重大度が再マップされていない場合、nullが返されます。
getInvertedMap() オブジェクト getMap()によって返されるオブジェクトの反転形式を返します。そのプロパティは再マップされたプロパティであり、対応する値はJAFのデフォルトのプロパティです。重大度が再マップされていない場合、nullが返されます。
isSev(string sev) ブール 指定された重大度が有効な値である場合、trueを返します。コア重大度または再マップされた値の場合があります。
getMsgSev(string msgId) 文字列| null msgIdの重大度(JET-2000など)を返します。msgIdが定義されていない場合はnullを返します。
matchSeverityLevel(string sev) ブール 指定された重大度がJAF構成プロパティseverityの値/式と一致するかどうかをテストします。
isBlocker(string sev) ブール 重大度(マップ済またはアンマップ済)がblockerを表す場合、trueを返します。
isCritical(string sev) ブール 重大度(マップ済またはアンマップ済)がcriticalを表す場合、trueを返します。
isMajor(string sev) ブール 重大度(マップ済またはアンマップ済)がmajorを表す場合、trueを返します。
isMinor(string sev) ブール 重大度(マップ済またはアンマップ済)がminorを表す場合、trueを返します。
isInfo(string sev) ブール 重大度(マップ済またはアンマップ済)がinfoを表す場合、trueを返します。

TsxUtils: TSXユーティリティ関数

TsxUtilsは、ルールおよび登録コンテキストを介してcontext.utils.tsxUtilsとして使用できるユーティリティ・ライブラリです。

メソッド 戻り値 説明
extractTsxProperties( Object ruleCtx, Object TsxRenderComponent, Function callback ) なし

TsxRenderComponentオブジェクトを指定すると、TsxRenderComponentオブジェクトで見つかった各タグ属性に対してcallback関数がコールされます。

( Object ruleCtx, Object TsxComponent, Object Prop )

ここで、TsxComponentはTsxComponentオブジェクトで、Propはプロパティ・オブジェクト(TsxComponentのメンバー)です

ノート:

  1. extractTsxProperties()メソッドがすべてのプロパティを処理したか、反復が終了した(次の2を参照)場合、引数PropにNULL値を指定してコールバック・メソッドの最終コールを行います。
  2. 通常の処理では、コールバック関数は値を返す必要はありません。ただし、すべてのプロパティが処理される前に反復を終了する場合は、次の2つの文字列コードのいずれかを返すことができます:
    • TsxRenderComponentに対する追加のすべての反復を終了するendの戻り値。
    • TsxRenderComponentに対する追加のすべての反復を終了するnext-compの戻り値。

getExpressionObject(TsxProperty prop)

オブジェクト| null

Preactオブジェクト式から導出されたオブジェクトを返します。たとえば、次のスニペットがある場合:

<xxx myProp={{prop1: 42, prop2: "foo"}}

myPropに対してTsxPropertyオブジェクトを使用すると

     getExpressionObject(TsxProperty)  

次のオブジェクトが返されます:

{
   prop1: 42,
   prop2: "foo"
}

プロパティ値の外側の中カッコにオブジェクト式が含まれていない場合、メソッドはnullを返します。

isPropertyObjectExpr(TsxProperty | tsxComponent propOrComp, [string propName] )

ブール

TsxPropertyのプロパティ値、または名前付きプロパティを含むTsxComponentの値がオブジェクト式である場合、trueを返します。たとえば:

   someProp={ { . . . } }

ここで、引数propOrCompTsxPropertyまたはTsxComponentオブジェクトです。

第1引数がTsxComponentである場合、第2引数のpropNameが必要です。これはTsxPropertyでは使用されません。

isPropertyPreactExpr(TsxProperty | TsxComponent propOrComp, [string propName] )

ブール

TsxPropertyのプロパティ値、または名前付きプロパティを含むTsxComponentの値がPreact式である場合、trueを返します。たとえば:

someProp=(. . .)

ここで、引数propOrCompTsxPropertyまたはTsxComponentオブジェクトです。

第1引数がTsxComponentである場合、第2引数のpropNameが必要です。これはTsxPropertyでは使用されません。

isPropertyString(TsxProperty | TsxComponent propOrComp, [string propName] )

ブール

TsxPropertyの値、または名前付きプロパティを含むTsxComponentの値が文字列値である場合、trueを返します

ここで、引数propOrCompTsxPropertyまたはTsxComponentオブジェクトです。

第1引数がTsxComponentである場合、第2引数のpropNameが必要です。これはTsxPropertyでは使用されません。

setIssuePosition(Object issue, Object compOrProp)

なし

指定されたIssueインスタンスを、指定されたTsxComponentまたはTsxPropertyオブジェクト内の位置情報で更新します。

issueはインスタンス化されたIssueオブジェクトで、compOrPropTsxComponentまたはTsxPropertyオブジェクトです。

setIssuePropValuePosition(Object issue, Object tsxProp)

なし

指定されたIssueインスタンスを、指定されたTsxPropertyオブジェクト内のプロパティ値の位置情報で更新します。

issueはインスタンス化されたIssueオブジェクトで、tsxPropTsxPropertyオブジェクトです。

getChildren(Object tsxComp) オブジェクト|null

TsxComponent子オブジェクトの配列を返します。

tsxCompは、子が必要なTsxComponentです。

getAncestor(Object tsxComp [string compName] ) オブジェクト|null

指定されたコンポーネントの最初に見つかった名前付き祖先コンポーネントを返します。

説明:

  1. tsxCompは、祖先が検索されるTsxComponentオブジェクトです
  2. オプションのcompNameは、検索される祖先コンポーネントの名前です。省略すると、tsxCompコンポーネントの名前が使用されます。

見つかったTsxComponentを返します。見つからない場合はnullを返します。

getDescendant(Object tsxComp [string compName] ) オブジェクト|null

指定されたコンポーネントの最初に見つかった名前付き子孫コンポーネントを返します。

説明:

  1. tsxCompは、子孫が検索されるTsxComponentオブジェクトです
  2. オプションのcompNameは、検索される子孫コンポーネントの名前です。省略すると、tsxCompコンポーネントの名前が使用されます。

見つかったTsxComponentを返します。見つからない場合はnullを返します。

getProperty(TsxProperty | TsxComponent propOrComp, string propName) オブジェクト| null 名前付きプロパティのTsxPropertyオブジェクトをTsxComponentから返します。TsxPropertyオブジェクトを指定した場合、引数が返されます(プロパティ名は指定しても無視されます)。
getPropertyValue(Object tsxComp, string propName) オブジェクト 名前付きプロパティのvalueノードをTsxComponentから返します。
getPropertyRawValue(Object tsxComp, string propName, boolean stripDelims) 文字列 名前付きプロパティのRAW値をTsxComponentから返します。ノート: プロパティ値が文字列の場合、オプションのstripDelims引数がtrueに設定されていなければ、区切り引用符が含まれます。
getPropertyStringValue(TsxProperty | TsxComponent propOrComp, [string propName] 文字列| null |未定義

プロパティ・タイプが文字列の場合、プロパティの文字列値を返します。プロパティが空で、値がない場合(HTMLの'disabled'属性など)、戻り値は未定義です。値タイプが文字列でない場合、またはプロパティが見つからない場合は、nullが返されます。

引数propOrCompTsxPropertyまたはTsxComponentオブジェクトです。propOrCompTsxComponentである場合、第2引数のpropNameが必要です。これはTsxPropertyでは使用されません。

getRawText( Object ruleCtx, Object tsxRC) 文字列 TsxRenderComponentの作成に使用されるRAWテキストを返します。
getSlotParent(Object ruleCtx, TsxProperty tsxProp, string slotName ) TsxComponent | null 指定されたスロット名を解決する親TsxComponentを返します。

DomUtilsはTSXルールのルール/登録コンテキストで使用できないため、次の追加メソッド(通常、HTMLルールではDomUtilsによってエクスポートされる)もTsxUtilsにあります。

メソッド 戻り値 説明
isAriaAttr(string attrName) ブール 指定された属性が既知のARIA属性である場合、trueを返します。
isCommonAttr(string attrName) ブール 指定された属性が標準定義のxxxである場合、trueを返します。(ノート: attrNameの接頭辞に':'が付いている場合、その接頭辞は無視されます。)
isCommonElem( string elemName) ブール 指定された要素が標準定義のxxxである場合、trueを返します。
isCommonEventAttr(string attrName) ブール 指定された属性が標準xxx定義のxxxである場合、trueを返します。(ノート: attrNameの接頭辞に':'が付いている場合、その接頭辞は無視されます。)
isHtml5ObsoleteElem(string elemName) ブール 指定された要素がHTML5で廃止されている場合、trueを返します
isHtml5ObsoleteAttr(string elemName, string attrName) ブール

指定された要素の属性がHTML5で廃止されている場合、trueを返します。

ノート: 戻り値は無条件です。評価が必要な追加の例外条件が存在する場合があります(たとえば、<img>border属性)。xxxを参照してください。

isNamespacePrefix(string tagPrefix) ブール oj-で始まるWebコンポーネント名の接頭辞(たとえばoj-ext)を指定すると、xxx内に接頭辞が定義されている場合はtrueを返します。
isNamespaceTag(string tagName) ブール oj-で始まるWebコンポーネント要素名(たとえばoj-ext-foo)を指定すると、xxx内に接頭辞(この例ではoj-ext)が定義されている場合はtrueを返します。
isSelfClosingTag(string tagName) ブール タグが自己終了タグ(<br>や<hr>など)である場合、trueを返します。
isSvgElem( string elemName) ブール 要素名がSVG要素である場合、trueを返します。
isSvgPath(string svg ) ブール 文字列が有効なSVGパスであると思われる場合、trueを返します。ノート: このメソッドは構文的に正しいSVGであるかについてパスを検証するわけではありません。