UTL Streamsタイプは、Oracle XML機能で使用される抽象タイプを記述します。SYSスキーマ内に4つの抽象PL/SQLストリームが導入および定義されています。これらのストリームはPUBLICで参照できます。以降の項で説明します。
この章では、次の項目について説明します。
表238-1 UTL Binary Streamsタイプ
| タイプ | 説明 |
|---|---|
|
|
バイトを読み取り、ストリームをクローズします。 |
|
|
バイトを書き込み、ストリームをクローズします。 |
|
|
文字を読み取り、ストリームをクローズします。 |
|
|
文字を書き込み、ストリームをクローズします。 |
このタイプは、ストリームの読取りとクローズのみを行うことができるという点で、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;
属性
表238-2 UTL_BINARYINPUTSTREAMタイプのメンバー・サブプログラム
| メンバー・サブプログラム | 説明 |
|---|---|
|
|
読取り可能なバイト数を戻します。 |
|
|
|
|
|
ストリームをサポートするためにノードに保持されているすべてのリソースを解放します。 |
このタイプは、ストリームの書込みとクローズのみを行うことができるという点で、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;
属性
表238-3 UTL_BINARYOUTPUTSTREAMタイプのメンバー・サブプログラム
| メンバー・サブプログラム | 説明 |
|---|---|
|
|
|
|
|
バッファに入れたすべてのバイトを宛先ノードに確実にコピーします。 |
|
|
ストリームに関連付けられたすべてのリソースを解放します。 |
このタイプは、文字(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;
属性
表238-4 UTL_CHARACTERINPUTSTREAMタイプのメンバー・サブプログラム
| メンバー・サブプログラム | 説明 |
|---|---|
|
|
読取り可能なバイト数を戻します。 |
|
|
|
|
|
ストリームによって保持されているすべてのリソースを解放します。 |
このタイプは、文字(chars)の書込みとストリームのクローズのみを行うことができるという点で、java.io.Writerと似ています。
構文
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;
属性
表238-5 UTL_CHARACTEROUTPUTSTREAMタイプのメンバー・サブプログラム
| メンバー・サブプログラム | 説明 |
|---|---|
|
|
|
|
|
バッファに含まれているすべての文字をノード値にコピーします。 |
|
|
ストリームが保持しているすべてのリソースを解放します。 |