318 UTL Streamsタイプ
UTL Streamsタイプは、Oracle XML機能で使用される抽象タイプを記述します。
SYSスキーマ内に4つの抽象PL/SQLストリームが導入および定義されています。 ストリームはPUBLICで参照でき、以降の項で説明します。
この章のトピックは、次のとおりです:
参照:
詳細は、『Oracle XML DB開発者ガイド』を参照してください。
318.2 UTL Binary Streamsタイプの要約
この表は、UTL Binary Streamsタイプを示し、簡単に説明しています。
表318-1 UTL Streamsタイプ
| タイプ | 説明 |
|---|---|
|
バイトを読み取り、ストリームをクローズします。 |
|
|
バイトを書き込み、ストリームをクローズします。 |
|
|
文字を読み取り、ストリームをクローズします。 |
|
|
文字を書き込み、ストリームをクローズします。 |
318.2.1 UTL_BINARYINPUTSTREAMタイプ
このタイプは、ストリームの読取りとクローズのみを行うことができるという点で、java.io.InputStreamと似ています。
構文
CREATE OR REPLACE TYPE Utl_BinaryInputStream AS OBJECT (
MEMBER FUNCTION available (
self IN OUT NOCOPY Utl_BinaryInputStream)
RETURN INTEGER,
MEMBER FUNCTION read ( -- #1
self IN OUT NOCOPY Utl_BinaryInputStream,
numBytes IN INTEGER DEFAULT 1)
RETURN RAW,
MEMBER PROCEDURE read ( -- #2
self IN OUT NOCOPY Utl_BinaryInputStream,
bytes IN OUT NOCOPY RAW,
numBytes IN OUT INTEGER),
MEMBER PROCEDURE read ( -- #3
self IN OUT NOCOPY Utl_BinaryInputStream,
bytes IN OUT NOCOPY RAW,
offset IN INTEGER,
numBytes IN OUT INTEGER),
member function close (
self In Out Nocopy Utl_BinaryInputStream)
) NOT FINAL;属性
表318-2 UTL_BINARYINPUTSTREAM型メンバー・サブプログラム
| メンバー・サブプログラム | 説明 |
|---|---|
|
|
読取り可能なバイト数を戻します。 |
|
|
|
|
|
ストリームをサポートするためにノードに保持されているすべてのリソースを解放します。 |
318.2.2 UTL_BINARYOUTPUTSTREAMタイプ
このタイプは、ストリームの書込みとクローズのみを行うことができるという点で、java.io.OutputStreamと似ています。
構文
CREATE OR REPLACE TYPE Utl_BinaryOutputStream AS OBJECT (
MEMBER FUNCTION write ( -- #1
self IN OUT NOCOPY sys.utl_BinaryOutputStream,
bytes IN RAW,
numBytes IN INTEGER DEFAULT 1)
RETURN INTEGER,
MEMBER PROCEDURE write ( -- #2
self IN OUT NOCOPY sys.utl_BinaryOutputStream,
bytes IN NOCOPY RAW,
numBytes IN OUT INTEGER),
MEMBER PROCEDURE write ( -- #3
self IN OUT NOCOPY utl_BinaryOutputStream, bytes IN NOCOPY RAW,
offset IN INTEGER,
numBytes IN OUT INTEGER),
MEMBER PROCEDURE flush (
self IN OUT NOCOPY utl_BinaryOutputStream),
MEMBER PROCEDURE close (
self IN OUT NOCOPY utl_BinaryOutputStream)
) NOT FINAL;属性
表318-3 UTL_BINARYOUTPUTSTREAM型メンバー・サブプログラム
| メンバー・サブプログラム | 説明 |
|---|---|
|
|
|
|
|
バッファに入れたすべてのバイトを宛先ノードに確実にコピーします。 |
|
|
ストリームに関連付けられたすべてのリソースを解放します。 |
318.2.3 UTL_CHARACTERINPUTSTREAMタイプ
このタイプは、文字(chars)の読取りとストリームのクローズのみを行うことができるという点で、java.io.Readerと似ています。
構文
CREATE OR REPLACE TYPE Utl_CharacterInputStream AS OBJECT (
MEMBER FUNCTION available (
self IN OUT NOCOPY utl_CharacterInputStream)
RETURN INTEGER,
MEMBER FUNCTION read ( -- #1
self IN OUT NOCOPY utl_CharacterInputStream,
numChars IN INTEGER DEFAULT 1,
lineFeed IN BOOLEAN DEFAULT FALSE)
RETURN VARCHAR2,
MEMBER PROCEDURE read ( -- #2
self IN OUT NOCOPY utl_CharacterInputStream,
chars IN OUT NOCOPY VARCHAR2,
numChars IN OUT INTEGER,
lineFeed IN BOOLEAN DEFAULT FALSE),
MEMBER PROCEDURE read ( -- #3
self IN OUT NOCOPY utl_CharacterInputStream,
chars IN OUT NOCOPY VARCHAR2,
offset IN INTEGER,
numChars IN OUT INTEGER,
lineFeed IN BOOLEAN DEFAULT FALSE),
MEMBER PROCEDURE close (
self IN OUT NOCOPY utl_CharacterInputStream)
) NOT FINAL;属性
表318-4 UTL_CHARACTERINPUTSTREAM型メンバー・サブプログラム
| メンバー・サブプログラム | 説明 |
|---|---|
|
|
読取り可能なバイト数を戻します。 |
|
|
|
|
|
ストリームによって保持されているすべてのリソースを解放します。 |
318.2.4 UTL_CHARACTEROUTPUTSTREAMタイプ
このタイプは、文字(chars)の読取りとストリームのクローズのみを行うことができるという点で、java.io.Readerと似ています。
構文
CREATE OR REPLACE TYPE utl_CharacterOutputStream AS OBJECT (
MEMBER FUNCTION write ( -- #1
self IN OUT NOCOPY utl_CharacterOutputStream,
chars IN VARCHAR2,
numChars IN INTEGER DEFAULT 1,
lineFeed IN BOOLEAN DEFAULT FALSE)
RETURN INTEGER,
MEMBER PROCEDURE write ( -- #2
self IN OUT NOCOPY utl_CharacterOutputStream,
chars IN OUT NOCOPY VARCHAR2,
numChars IN OUT INTEGER,
lineFeed IN BOOLEAN DEFAULT FALSE),
member procedure write ( -- #3
self IN OUT NOCOPY utl_CharacterOutputStream,
chars IN NOCOPY varchar2,
offset IN integer,
numChars IN OUT integer,
lineFeed IN boolean default false),
MEMBER PROCEDURE flush (
self IN OUT NOCOPY utl_CharacterOutputStream),
MEMBER PROCEDURE close (
self IN OUT NOCOPY utl_CharacterOutputStream)
) NOT FINAL;属性
表318-5 UTL_CHARACTEROUTPUTSTREAM型メンバー・サブプログラム
| メンバー・サブプログラム | 説明 |
|---|---|
|
|
|
|
|
バッファに含まれているすべての文字をノード値にコピーします。 |
|
|
ストリームによって保持されているすべてのリソースを解放します。 |