Automatic generation produced by ISE Eiffel
indexing
description: "Objects that represent a event"
author: "Marco Piccioni, Peizhu Li"
date: "$Date$"
revision: "$0.6$"
class
EVENT
inherit
APPLICATION_CONSTANTS
redefine
is_equal
end
create
make
feature -- Access
name: STRING_8
starting_date: DATE
ending_date: DATE
city: STRING_8
country: STRING_8
papers_submission_deadline: DATE
main_sponsor: STRING_8
url: STRING_8
contact_name: STRING_8
contact_email: STRING_8
contact_role: STRING_8
keywords: ARRAYED_LIST [STRING_8]
additional_sponsors: ARRAYED_LIST [STRING_8]
short_description: STRING_8
conference_chair_1: STRING_8
conference_chair_2: STRING_8
program_committee_chair_1: STRING_8
program_committee_chair_2: STRING_8
organizing_chair: STRING_8
event_status: INTEGER_32
-- See the State Pattern (GoF) for a more flexible and complex solution, in this case not needed in my opinion
proceeding_type: STRING_8
proceedings_publisher: STRING_8
additional_deadline_1: DATE
additional_deadline_2: DATE
additional_deadline_3: DATE
additional_deadline_specification_1: STRING_8
additional_deadline_specification_2: STRING_8
additional_deadline_specification_3: STRING_8
additional_notes: STRING_8
id: NATURAL_64
--conference unique id
submitted_by: STRING_8
feature -- default creation
make
local
index: INTEGER_32
do
name := ""
create starting_date.make_day_month_year (1, 1, 1111)
create ending_date.make_day_month_year (1, 1, 1111)
city := ""
country := ""
create papers_submission_deadline.make_day_month_year (1, 1, 1111)
main_sponsor := ""
url := ""
contact_name := ""
contact_email := ""
contact_role := ""
create keywords.make (5)
from
index := 1
until
index > 5
loop
keywords.extend ("")
index := index + 1
end
create additional_sponsors.make (5)
from
index := 1
until
index > 5
loop
additional_sponsors.extend ("")
index := index + 1
end
short_description := ""
conference_chair_1 := ""
conference_chair_2 := ""
program_committee_chair_1 := ""
program_committee_chair_2 := ""
organizing_chair := ""
event_status := proposed
proceedings_publisher := ""
create additional_deadline_1.make_day_month_year (1, 1, 1111)
create additional_deadline_2.make_day_month_year (1, 1, 1111)
create additional_deadline_3.make_day_month_year (1, 1, 1111)
additional_deadline_specification_1 := ""
additional_deadline_specification_2 := ""
additional_deadline_specification_3 := ""
additional_notes := ""
proceeding_type := ""
submitted_by := ""
end
feature --Redefinitions
is_equal (other: like Current): BOOLEAN
-- two events are considered equal is they have the same id
do
Result := Current.id = other.id
end
feature -- Status setting
set_name (a_name: STRING_8)
--sets event name
require
name_has_meaning: a_name /= Void and then (not a_name.is_empty)
do
name := a_name
ensure
name_is_set: name = a_name
end
set_starting_date (a_starting_date: DATE)
--sets event starting date
require
starting_date_has_meaning: a_starting_date /= Void
do
starting_date := a_starting_date
ensure
starting_date_is_set: starting_date = a_starting_date
end
set_ending_date (an_ending_date: DATE)
--sets event ending date
require
ending_date_has_meaning: an_ending_date /= Void
do
ending_date := an_ending_date
ensure
ending_date_is_set: ending_date = an_ending_date
end
set_city (a_city: STRING_8)
--sets event city
require
city_has_meaning: a_city /= Void and then (not a_city.is_empty)
do
city := a_city
ensure
city_is_set: city = a_city
end
set_country (a_country: STRING_8)
--sets event country
require
country_has_meaning: a_country /= Void and then (not a_country.is_empty)
do
country := a_country
ensure
country_is_set: country = a_country
end
set_papers_submission_deadline (a_papers_submission_deadline: DATE)
--sets papers submission deadline
require
papers_submission_deadline_has_meaning: a_papers_submission_deadline /= Void
do
papers_submission_deadline := a_papers_submission_deadline
ensure
papers_submission_deadline_is_set: papers_submission_deadline = a_papers_submission_deadline
end
set_main_sponsor (the_main_sponsor: STRING_8)
--sets event main sponsor
require
main_sponsor_has_meaning: the_main_sponsor /= Void and then (not the_main_sponsor.is_empty)
do
main_sponsor := the_main_sponsor
ensure
main_sponsor_is_set: main_sponsor = the_main_sponsor
end
set_url (an_url: STRING_8)
--sets event url
require
url_has_meaning: an_url /= Void and then (not an_url.is_empty)
do
url := an_url
ensure
url_is_set: url = an_url
end
set_contact_name (a_contact_name: STRING_8)
--sets event contact_name
require
contact_name_has_meaning: a_contact_name /= Void and then (not a_contact_name.is_empty)
do
contact_name := a_contact_name
ensure
contact_name_is_set: contact_name = a_contact_name
end
set_contact_email (an_email: STRING_8)
--sets event contact email
require
contact_email_has_meaning: an_email /= Void and then (not an_email.is_empty)
do
contact_email := an_email
ensure
contact_email_is_set: contact_email = an_email
end
set_contact_role (a_contact_role: STRING_8)
--sets event contact_role
require
contact_role_has_meaning: a_contact_role /= Void and then (not a_contact_role.is_empty)
do
contact_role := a_contact_role
ensure
contact_role_is_set: contact_role = a_contact_role
end
set_keywords (some_keywords: ARRAYED_LIST [STRING_8])
--sets event keywords
do
keywords := some_keywords
ensure
keywords_are_set: keywords = some_keywords
end
set_additional_sponsors (some_other_sponsors: ARRAYED_LIST [STRING_8])
--sets event additional_sponsors
do
additional_sponsors := some_other_sponsors
ensure
additional_sponsors_are_set: additional_sponsors = some_other_sponsors
end
set_short_description (a_description: STRING_8)
--sets event short description
do
short_description := a_description
ensure
country_is_set: short_description = a_description
end
set_conference_chair_1 (a_conference_chair: STRING_8)
--sets conference_chair_1
do
conference_chair_1 := a_conference_chair
ensure
conference_chair_1_is_set: conference_chair_1 = a_conference_chair
end
set_conference_chair_2 (a_conference_chair: STRING_8)
--sets conference_chair_2
do
conference_chair_2 := a_conference_chair
ensure
conference_chair_2_is_set: conference_chair_2 = a_conference_chair
end
set_program_committee_chair_1 (a_program_committee_chair: STRING_8)
--sets program_committee_chair_1
do
program_committee_chair_1 := a_program_committee_chair
ensure
program_committee_chair_1_is_set: program_committee_chair_1 = a_program_committee_chair
end
set_program_committee_chair_2 (a_program_committee_chair: STRING_8)
--sets program_committee_chair_2
do
program_committee_chair_2 := a_program_committee_chair
ensure
program_committee_chair_2_is_set: program_committee_chair_2 = a_program_committee_chair
end
set_organizing_chair (an_organizing_chair: STRING_8)
--sets organizing_chair
do
organizing_chair := an_organizing_chair
ensure
organizing_chair_is_set: organizing_chair = an_organizing_chair
end
set_additional_deadline_1 (an_additional_deadline: DATE)
--sets event first additional deadline
do
additional_deadline_1 := an_additional_deadline
ensure
additional_deadline_1_is_set: additional_deadline_1 = an_additional_deadline
end
set_additional_deadline_2 (an_additional_deadline: DATE)
--sets event second additional deadline
do
additional_deadline_2 := an_additional_deadline
ensure
additional_deadline_2_is_set: additional_deadline_2 = an_additional_deadline
end
set_additional_deadline_3 (an_additional_deadline: DATE)
--sets event third additional deadline
do
additional_deadline_3 := an_additional_deadline
ensure
additional_deadline_3_is_set: additional_deadline_3 = an_additional_deadline
end
set_additional_deadline_specification_1 (an_additional_deadline_specification: STRING_8)
--sets first additional_deadline_specification
do
additional_deadline_specification_1 := an_additional_deadline_specification
ensure
additional_deadline_specification_1_is_set: additional_deadline_specification_1 = an_additional_deadline_specification
end
set_additional_deadline_specification_2 (an_additional_deadline_specification: STRING_8)
--sets second additional_deadline_specification
do
additional_deadline_specification_2 := an_additional_deadline_specification
ensure
additional_deadline_specification_2_is_set: additional_deadline_specification_2 = an_additional_deadline_specification
end
set_additional_deadline_specification_3 (an_additional_deadline_specification: STRING_8)
--sets third additional_deadline_specification
do
additional_deadline_specification_3 := an_additional_deadline_specification
ensure
additional_deadline_specification_3_is_set: additional_deadline_specification_3 = an_additional_deadline_specification
end
set_additional_notes (some_additional_notes: STRING_8)
--sets third additional_deadline_specification
do
additional_notes := some_additional_notes
ensure
additional_notes_are_set: additional_notes = some_additional_notes
end
set_status (a_status: INTEGER_32)
--sets event status of approval
do
event_status := a_status
ensure
status_of_approval_is_set: event_status = a_status
end
set_proceeding_type (a_type: STRING_8)
--sets conference proceedings to be at conference (True) or post conference (False)
do
proceeding_type := a_type
ensure
proceeding_type_is_set: proceeding_type = a_type
end
set_proceedings_publisher (a_proceedings_publisher: STRING_8)
--sets proceedings_publisher name
do
proceedings_publisher := a_proceedings_publisher
ensure
proceedings_publisher_is_set: proceedings_publisher = a_proceedings_publisher
end
set_id (an_id: NATURAL_64)
--sets event id
require
an_id_has_meaning: an_id > 0
do
id := an_id
ensure
id_is_set: id = an_id
end
set_submitter (an_author: STRING_8)
--sets author
do
submitted_by := an_author
ensure
submitter_is_set: submitted_by = an_author
end
invariant
event_id_non_negative: id >= 0
end -- class EVENT
-- Generated by ISE Eiffel --
For more details: www.eiffel.com