6.6.2 XBRLContextインターフェース

public interface XBRLContext
extends XBRLInstanceNode

XBRLのバージョン:
2.0および2.1
説明:
コンテキスト要素を表します。コンテキスト要素には,複数の種類があります。各種のコンテキスト要素を表すほかのインターフェースは,このインターフェースを継承します。
  • XBRL2.0の場合:
    コンテキスト要素には,数値コンテキスト要素(XBRLNumericContext)と非数値コンテキスト要素(XBRLNonNumericContext)の2種類があります。コンテキスト要素が数値または非数値のどちらであるかを,XBRLContext.isNumeric()メソッドで調べられます。
  • XBRL2.1の場合:
    コンテキスト要素に数値または非数値の区別はありません。XBRLContext2インターフェース一つだけで表現されます。
コンテキストのid属性の値は,コンテキストを生成する際に自動的に採番されます。id属性の値は,コンテキストを生成する際に自動的に採番されますが,setId()メソッドを使用して任意の値を設定することもできます。自動採番の詳細については,「3.3 ID管理と採番」を参照してください。
メソッドの概要:
XBRLContextインターフェースのメソッドの概要を次の表に示します。

表6-17 XBRLContextインターフェースのメソッドの概要

項番説明XBRLのバージョン
1booleanisNumeric()
  コンテキスト要素が数値か非数値かを調べます。
2.0
2java.lang.StringgetId()
  コンテキスト要素のid属性の値を取得します。
2.0および2.1
3voidsetId(java.lang.String id)
  コンテキスト要素のid属性の値を設定します。
2.0および2.1
4XBRLEntitygetEntity()
  エンティティ要素を取得します。
2.0および2.1
5voidsetEntity(XBRLEntity entity)
  エンティティ要素を設定します。
2.0および2.1
6XBRLPeriodgetPeriod()
  時期要素を取得します。
2.0および2.1
7voidsetPeriod(XBRLPeriod period)
  時期要素を設定します。
2.0および2.1
8XBRLScenariogetScenario()
  シナリオ要素を取得します。
2.0および2.1
9voidsetScenario(XBRLScenario scenario)
  シナリオ要素を設定します。
2.0および2.1
10java.util.List<XBRLInstanceItem>getItems()
  このコンテキスト要素を参照しているアイテムのリストを取得します。
2.0および2.1
11java.util.List<XBRLInstanceItem>getItems(java.lang.String namespaceURI, java.lang.String name)
  このコンテキスト要素を参照している,指定した名前を持つアイテムのリストを取得します。
2.0および2.1
<この項の構成>
(1) isNumeric
(2) getId
(3) setId
(4) getEntity
(5) setEntity
(6) getPeriod
(7) setPeriod
(8) getScenario
(9) setScenario
(10) getItems
(11) getItems

(1) isNumeric

public boolean isNumeric()

XBRLのバージョン:
2.0
説明:
コンテキスト要素が数値か非数値かを調べます。
戻り値:
このコンテキストが数値コンテキストである場合はtrue,非数値コンテキストである場合はfalseを返します。
例外:
XBRLDOMRuntimeException -
  • 操作対象のインスタンス文書が準拠しているXBRLのバージョンが2.0でない場合にスローされます。[エラーコード:20100]

(2) getId

public java.lang.String getId()

XBRLのバージョン:
2.0および2.1
説明:
コンテキスト要素のid属性の値を取得します。
戻り値:
コンテキスト要素のid属性の値を返します。

(3) setId

public void setId(java.lang.String id)

XBRLのバージョン:
2.0および2.1
説明:
コンテキスト要素のid属性の値を設定します。
引数:
id - コンテキスト要素のid属性の値を指定します。
例外:
XBRLDOMRuntimeException -
  • 引数idにnullを指定した場合にスローされます。[エラーコード:20002]
  • 引数idに指定した値がxsd:NCName型でない場合にスローされます。[エラーコード:20108]
  • このコンテキスト要素がインスタンス文書中に存在していて,かつ,引数idで指定されたのと同じ値を持つxsd:ID型属性がインスタンス文書中にすでに存在する場合にスローされます。[エラーコード:20028]

(4) getEntity

public XBRLEntity getEntity()

XBRLのバージョン:
2.0および2.1
説明:
エンティティ要素を取得します。
戻り値:
エンティティ要素を表すXBRLEntityオブジェクトを返します。

(5) setEntity

public void setEntity(XBRLEntity entity)

XBRLのバージョン:
2.0および2.1
説明:
エンティティ要素を設定します。
このXBRLContextオブジェクトにすでに設定されているXBRLEntityオブジェクトは,親がいない状態となり,getParentNode()メソッドがnullを返します。
引数:
entity - エンティティ要素を表すXBRLEntityオブジェクトを指定します。
例外:
XBRLDOMRuntimeException -
  • 引数entityにnullを指定した場合にスローされます。[エラーコード:20002]
  • 引数entityに指定したXBRLEntityオブジェクトを所有しているXBRLInstanceDocumentオブジェクトが,このXBRLContextオブジェクトを所有しているXBRLInstanceDocumentオブジェクトと異なる場合にスローされます。[エラーコード:20004]
  • 引数entityに指定したXBRLEntityオブジェクトが,すでにほかのXBRLContextオブジェクトに設定されている場合にスローされます。[エラーコード:20005]

(6) getPeriod

public XBRLPeriod getPeriod()

XBRLのバージョン:
2.0および2.1
説明:
時期要素を取得します。
戻り値:
時期要素を表すXBRLPeriodオブジェクトを返します。

(7) setPeriod

public void setPeriod(XBRLPeriod period)

XBRLのバージョン:
2.0および2.1
説明:
時期要素を設定します。
このXBRLContextオブジェクトにすでに設定されているXBRLPeriodオブジェクトは,親がいない状態となり,getParentNode()メソッドがnullを返します。
XBRL2.1の場合:設定できる時期要素の内容に関する制限
引数periodに設定できる時期要素には,次の表に示す制限があります。

表6-18 設定できる時期要素の内容に関する制限

項番条件制限
1このコンテキスト要素に設定されている既存の時期要素の内容の意味がXBRLPeriod.INSTANTである場合引数periodに指定する時期要素の内容の意味は,XBRLPeriod.INSTANTである必要があります。
2このコンテキスト要素に設定されている既存の時期要素の内容の意味がXBRLPeriod.FOREVERかXBRLPeriod.STARTDATE_ENDDATEである場合引数periodに指定する時期要素の内容の意味はXBRLPeriod.FOREVERかXBRLPeriod.STARTDATE_ENDDATEである必要があります。
XBRL2.1では,アイテムの要素宣言のxbrli:periodType属性に"instant"が指定された場合は,インスタンス文書でそのアイテムが参照するコンテキスト要素の時期要素の内容がXBRLPeriod.INSTANTである必要があります。また,xbrli:periodType属性に"duration"が指定された場合は,時期要素の内容がXBRLPeriod.FOREVERかXBRLPeriod.STARTDATE_ENDDATEである必要があるという制約があります。
引数:
period - 時期要素を表すXBRLPeriodオブジェクトを指定します。
例外:
XBRLDOMRuntimeException -
  • 引数periodにnullを指定した場合にスローされます。[エラーコード:20002]
  • 引数periodに指定したXBRLPeriodオブジェクトを所有しているXBRLInstanceDocumentオブジェクトが,このXBRLContextオブジェクトを所有しているXBRLInstanceDocumentオブジェクトと異なる場合にスローされます。[エラーコード:20004]
  • 引数periodに指定したXBRLPeriodオブジェクトが,すでにほかのXBRLContextオブジェクトに設定されている場合にスローされます。[エラーコード:20005]
  • XBRL2.1の場合:引数periodで指定したXBRLPeriodオブジェクトが,上記の制約に違反している場合にスローされます。[エラーコード:20141]

(8) getScenario

public XBRLScenario getScenario()

XBRLのバージョン:
2.0および2.1
説明:
シナリオ要素を取得します。
戻り値:
シナリオ要素を表すXBRLScenarioオブジェクトを返します。シナリオ要素がない場合はnullを返します。

(9) setScenario

public void setScenario(XBRLScenario scenario)

XBRLのバージョン:
2.0および2.1
説明:
シナリオ要素を設定します。
このXBRLContextオブジェクトにXBRLScenarioオブジェクトが設定されている場合,そのオブジェクトは親がいない状態となり,getParentNode()メソッドがnullを返します。
引数:
scenario - シナリオ要素を表すXBRLScenarioオブジェクトを指定します。シナリオ要素を削除する場合はnullを指定します。
例外:
XBRLDOMRuntimeException -
  • 引数scenarioに指定したXBRLScenarioオブジェクトを所有しているXBRLInstanceDocumentオブジェクトが,このXBRLContextオブジェクトを所有しているXBRLInstanceDocumentオブジェクトと異なる場合にスローされます。[エラーコード:20004]
  • 引数scenarioに指定したXBRLScenarioオブジェクトが,すでにほかのXBRLContextオブジェクトに設定されている場合にスローされます。[エラーコード:20005]

(10) getItems

public java.util.List<XBRLInstanceItem> getItems()

XBRLのバージョン:
2.0および2.1
説明:
このコンテキスト要素を参照しているアイテムのリストを取得します。
このコンテキストを参照しているアイテムには,インスタンス文書にない(アクティブでない)ノードも含まれます。そのノードはXBRLInstanceNode.isActive()がfalseを返します。
このメソッドが返すアイテムのリストはライブオブジェクトです。このメソッドを呼び出したあとに,このメソッドが返したリストに含まれるアイテムに増減があった場合,その変更は直ちに反映されます。また,このメソッドが返すリストは読み取り専用です。このメソッドが返したリストを変更しようとすると,java.lang.UnsupportedOperationExceptionがスローされます。
戻り値:
このコンテキストを参照しているアイテムをすべて含む,XBRLInstanceItemオブジェクトのリストを返します。このコンテキストを参照しているアイテムがない場合は,要素数が0のリストを返します。

(11) getItems

public java.util.List<XBRLInstanceItem> getItems(java.lang.String namespaceURI,
                              java.lang.String name)

XBRLのバージョン:
2.0および2.1
説明:
このコンテキスト要素を参照している,指定した名前を持つアイテムのリストを取得します。
このコンテキストを参照しているアイテムには,インスタンス文書にない(アクティブでない)ノードも含まれます。そのノードはXBRLInstanceNode.isActive()がfalseを返します。
このメソッドが返すアイテムのリストはライブオブジェクトです。このメソッドを呼び出したあとに,このメソッドが返したリストに含まれるアイテムに増減があった場合,その変更は直ちに反映されます。また,このメソッドが返すリストは読み取り専用です。このメソッドが返したリストを変更しようとすると,java.lang.UnsupportedOperationExceptionがスローされます。
引数:
namespaceURI - アイテムの名前空間URIを指定します。
name - アイテムの名前を指定します。
戻り値:
引数namespaceURIで指定した名前空間URIに属し,引数nameで指定した名前を持つアイテムを表すXBRLInstanceItemオブジェクトのリストを返します。指定したアイテムがない場合は,要素数が0のリストを返します。
例外:
XBRLDOMRuntimeException -
  • 引数namespaceURIまたはnameにnullを指定した場合にスローされます。[エラーコード:20002]