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

xml.resolver.uri

Class XM_DATA_URI_RESOLVER


Direct ancestors

XM_URI_RESOLVER

Creation

Features

Invariants

indexing

description

External URI resolver for the data protocol (RFC 2397)

library

Gobo Eiffel XML Library

copyright

Copyright (c) 2005, Colin Adams and others

license

Eiffel Forum License v2 (see forum.txt)

date

$Date: 2005/10/24 09:27:13 $

revision

$Revision: 1.9 $

class

XM_DATA_URI_RESOLVER

inherit

XM_URI_RESOLVER

create

make

-- Nothing to do

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.

-- (From XM_URI_RESOLVER)

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

-- (From XM_URI_RESOLVER)

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

feature -- Result

has_error: BOOLEAN

-- Did the last resolution attempt succeed?

-- (From XM_URI_RESOLVER)

has_media_type: BOOLEAN

-- Is the media type available.

-- (From XM_URI_RESOLVER)

last_error: STRING

-- (From XM_URI_RESOLVER)

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

-- Media type, if available.

-- (From XM_URI_RESOLVER)

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

-- Matching stream

-- (From XM_URI_RESOLVER)

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