Eiffel Media API
Overview Cluster Class Classes Index      Previous Next      Top Features

xml.resolver.uri

Class XM_URI_RESOLVER


Direct ancestors

KL_IMPORTED_STRING_ROUTINES

Known direct descendants

XM_FILE_URI_RESOLVER, XM_DATA_URI_RESOLVER, XM_STRING_URI_RESOLVER

Features

Invariants

indexing

description

Interface for absolute URI resolver

library

Gobo Eiffel XML Library

copyright

Copyright (c) 2004, Eric Bezault and others

license

Eiffel Forum License v2 (see forum.txt)

date

$Date: 2005/04/01 10:34:17 $

revision

$Revision: 1.3 $

deferred class

XM_URI_RESOLVER

inherit

KL_IMPORTED_STRING_ROUTINES

feature -- Access

string_: KL_STRING_ROUTINES

-- Routines that ought to be in class STRING

-- (From KL_IMPORTED_STRING_ROUTINES)

ensure
string_routines_not_void: Result /= Void

feature -- Operation(s)

resolve (a_uri: UT_URI)

-- Resolve URI to stream.

require
a_uri_not_void: a_uri /= Void
a_uri_absolute: a_uri.is_absolute
a_uri_scheme: STRING_.same_string (scheme, a_uri.scheme)
ensure
stream_open_on_success: not has_error implies last_stream.is_open_read
scheme: STRING

-- Scheme name (constant).

ensure
result_not_void: Result /= Void
result_not_empty: not Result.is_empty

feature -- Result

has_error: BOOLEAN

-- Did the last resolution attempt succeed?

has_media_type: BOOLEAN

-- Is the media type available.

last_error: STRING

-- Last error message

require
has_error: has_error
ensure
not_void: Result /= Void
last_media_type: UT_MEDIA_TYPE

-- Media type, if available.

require
has_media_type: has_media_type
ensure
result_not_void: Result /= Void
last_stream: KI_CHARACTER_INPUT_STREAM

-- Last stream initialised from external entity

require
not_error: not has_error
ensure
not_void: Result /= Void

invariant

-- From ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)

end