INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES

indexing

title: "Composed name is used in SQL to name tables, fields, etc."
project: "Visual Eiffel"
revision: "$Revision: 1.1 $"
copyright: "Copyright (C) 1996-2005 Object Tools Group"
license: "http://visual-eiffel.com/license"
cluster: dale
class COMPOSED_NAME
inherit

COMPARABLE
redefine
copy,
is_equal
end

DALE_SERVER
redefine
copy,
is_equal
end
creation

make
feature -- Attributes:

attributes: COMPOSED_NAME_ATTRIBUTES

name: STRING

container: STRING

owner: STRING

qualifier: STRING

alias_name: STRING
feature -- Commands:

make (attrs: COMPOSED_NAME_ATTRIBUTES)
-- creation procedure
require
valid_attributes: attrs /= void

from_string (s: STRING)
-- assign this composed name parsing the specified string
require
valid_string: s /= void
ensure
well_done: not name.is_empty

clear_all
-- clear all the contents
feature -- Queries:

empty: BOOLEAN
-- is this composed name empty?

to_string: STRING
-- converts this composed name to string
ensure
well_done: Result /= void and then not Result.is_empty
feature -- Settings:

set_qualifier (s: STRING)
-- ...
require
valid_qualifier: attributes.qualifier_is_used implies s /= void

set_owner (s: STRING)
-- ...
require
valid_owner: attributes.owner_is_used implies s /= void

set_container (s: STRING)
-- ...
require
valid_container: attributes.container_is_used implies s /= void

set_name (s: STRING)
-- ...
require
valid_name: s /= void

set_alias_name (s: STRING)
-- ...
feature -- Redefined from COMPARABLE:

infix "<" (other: like Current): BOOLEAN
-- redefined from COMPARABLE
feature -- Redefined from ANY:

copy (other: like Current)
-- redefined from ANY; deeps copying
ensure
strictly_equal: equal (name, other.name) and then equal (container, other.container) and then equal (owner, other.owner) and then equal (qualifier, other.qualifier)

is_equal (other: like Current): BOOLEAN
-- the corresponding components should be equal or else at least
-- one of them is Void or empty
end -- class COMPOSED_NAME

INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES