# PLEASE DO NOT EDIT THIS CODE
# This code was generated using the UMPLE 1.32.1.6535.66c005ced modeling language!
# NOTE: Ruby generator is experimental and is missing some features available in
# in other Umple generated languages like Java or PHP
module Example
class Student
#------------------------
# MEMBER VARIABLES
#------------------------
#Student Associations - for documentation purposes
#attr_reader :mentors
#------------------------
# CONSTRUCTOR
#------------------------
def initialize()
@initialized = false
@deleted = false
@mentors = []
@initialized = true
end
#------------------------
# INTERFACE
#------------------------
def get_mentor(index)
a_mentor = @mentors[index]
a_mentor
end
def get_mentors
new_mentors = @mentors.dup
new_mentors
end
def number_of_mentors
number = @mentors.size
number
end
def has_mentors
has = @mentors.size > 0
has
end
def index_of_mentor(a_mentor)
index = @mentors.index(a_mentor)
index = -1 if index.nil?
index
end
def self.minimum_number_of_mentors
0
end
def add_mentor(a_mentor)
was_added = false
return false if index_of_mentor(a_mentor) != -1
@mentors << a_mentor
if a_mentor.index_of_student(self) != -1
was_added = true
else
was_added = a_mentor.add_student(self)
unless was_added
@mentors.delete(a_mentor)
end
end
was_added
end
def remove_mentor(a_mentor)
was_removed = false
unless @mentors.include?(a_mentor)
return was_removed
end
oldIndex = @mentors.index(a_mentor)
@mentors.delete_at(oldIndex)
if a_mentor.index_of_student(self) == -1
was_removed = true
else
was_removed = a_mentor.remove_student(self)
@mentors.insert(oldIndex,a_mentor) unless was_removed
end
was_removed
end
def add_mentor_at(a_mentor, index)
was_added = false
if add_mentor(a_mentor)
if(index < 0)
index = 0
end
if(index > number_of_mentors())
index = number_of_mentors() - 1
end
@mentors.delete(a_mentor)
@mentors.insert(index, a_mentor)
was_added = true
end
was_added
end
def add_or_move_mentor_at(a_mentor, index)
was_added = false
if @mentors.include?(a_mentor)
if(index < 0)
index = 0
end
if(index > number_of_mentors())
index = number_of_mentors() - 1
end
@mentors.delete(a_mentor)
@mentors.insert(index, a_mentor)
was_added = true
else
was_added = add_mentor_at(a_mentor, index)
end
was_added
end
def delete
@deleted = true
copy_of_mentors = @mentors.dup
@mentors.clear
copy_of_mentors.each do |a_mentor|
a_mentor.remove_student(self)
end
end
end
end
# PLEASE DO NOT EDIT THIS CODE
# This code was generated using the UMPLE 1.32.1.6535.66c005ced modeling language!
# NOTE: Ruby generator is experimental and is missing some features available in
# in other Umple generated languages like Java or PHP
module Example
class Student
#------------------------
# MEMBER VARIABLES
#------------------------
#Student Associations - for documentation purposes
#attr_reader :mentors
#------------------------
# CONSTRUCTOR
#------------------------
def initialize()
@initialized = false
@deleted = false
@mentors = []
@initialized = true
end
#------------------------
# INTERFACE
#------------------------
def get_mentor(index)
a_mentor = @mentors[index]
a_mentor
end
def get_mentors
new_mentors = @mentors.dup
new_mentors
end
def number_of_mentors
number = @mentors.size
number
end
def has_mentors
has = @mentors.size > 0
has
end
def index_of_mentor(a_mentor)
index = @mentors.index(a_mentor)
index = -1 if index.nil?
index
end
def self.minimum_number_of_mentors
0
end
def add_mentor(a_mentor)
was_added = false
return false if index_of_mentor(a_mentor) != -1
@mentors << a_mentor
if a_mentor.index_of_student(self) != -1
was_added = true
else
was_added = a_mentor.add_student(self)
unless was_added
@mentors.delete(a_mentor)
end
end
was_added
end
def remove_mentor(a_mentor)
was_removed = false
unless @mentors.include?(a_mentor)
return was_removed
end
oldIndex = @mentors.index(a_mentor)
@mentors.delete_at(oldIndex)
if a_mentor.index_of_student(self) == -1
was_removed = true
else
was_removed = a_mentor.remove_student(self)
@mentors.insert(oldIndex,a_mentor) unless was_removed
end
was_removed
end
def add_mentor_at(a_mentor, index)
was_added = false
if add_mentor(a_mentor)
if(index < 0)
index = 0
end
if(index > number_of_mentors())
index = number_of_mentors() - 1
end
@mentors.delete(a_mentor)
@mentors.insert(index, a_mentor)
was_added = true
end
was_added
end
def add_or_move_mentor_at(a_mentor, index)
was_added = false
if @mentors.include?(a_mentor)
if(index < 0)
index = 0
end
if(index > number_of_mentors())
index = number_of_mentors() - 1
end
@mentors.delete(a_mentor)
@mentors.insert(index, a_mentor)
was_added = true
else
was_added = add_mentor_at(a_mentor, index)
end
was_added
end
def delete
@deleted = true
copy_of_mentors = @mentors.dup
@mentors.clear
copy_of_mentors.each do |a_mentor|
a_mentor.remove_student(self)
end
end
end
end
# PLEASE DO NOT EDIT THIS CODE
# This code was generated using the UMPLE 1.32.1.6535.66c005ced modeling language!
# NOTE: Ruby generator is experimental and is missing some features available in
# in other Umple generated languages like Java or PHP
module Example
class Student
#------------------------
# MEMBER VARIABLES
#------------------------
#Student Attributes - for documentation purposes
#attr_reader :intId, :doubleId, :booleanId, :stringId, :stringListIds
#------------------------
# CONSTRUCTOR
#------------------------
def initialize(a_intId, a_doubleId, a_booleanId, a_stringId)
@initialized = false
@deleted = false
@cachedHashCode = -1
@can_set_intId = true
@can_set_doubleId = true
@can_set_booleanId = true
@can_set_stringId = true
@can_set_stringListIds = true
@intId = a_intId
@doubleId = a_doubleId
@booleanId = a_booleanId
@stringId = a_stringId
@stringListIds = []
@initialized = true
end
#------------------------
# INTERFACE
#------------------------
def set_intId(a_intId)
was_set = false
return false unless @can_set_intId
@intId = a_intId
was_set = true
was_set
end
def set_doubleId(a_doubleId)
was_set = false
return false unless @can_set_doubleId
@doubleId = a_doubleId
was_set = true
was_set
end
def set_booleanId(a_booleanId)
was_set = false
return false unless @can_set_booleanId
@booleanId = a_booleanId
was_set = true
was_set
end
def set_stringId(a_stringId)
was_set = false
return false unless @can_set_stringId
@stringId = a_stringId
was_set = true
was_set
end
def add_stringListId(a_stringListId)
was_added = false
return false unless @can_set_stringListIds
was_added = stringListIds << a_stringListId
was_added
end
def remove_stringListId(a_stringListId)
was_removed = false
return false unless @can_set_stringListIds
was_removed = stringListIds.delete(a_stringListId)
was_removed
end
def get_intId
@intId
end
def get_doubleId
@doubleId
end
def get_booleanId
@booleanId
end
def get_stringId
@stringId
end
def get_stringListId(index)
a_stringListId = stringListIds[index]
a_stringListId
end
def get_stringListIds
String[] new_stringListIds = stringListIds.toArray(new String[stringListIds.size])
new_stringListIds
end
def number_of_stringListIds
number = stringListIds.size
number;
end
def has_stringListIds
has = stringListIds.size > 0
has
end
def index_of_stringListId(a_stringListId)
index = stringListIds.index(a_stringListId)
index = -1 if index.nil?
index
end
def is_booleanId?
@booleanId
end
def eql?(obj)
return false if obj.nil?
return false unless self.class == obj.class
compareTo = obj
return false unless @intId == compareTo.instance_variable_get("@intId")
return false unless @doubleId == compareTo.instance_variable_get("@doubleId")
return false unless @booleanId == compareTo.instance_variable_get("@booleanId")
return false if (@stringId.nil? and !compareTo.instance_variable_get("@stringId").nil?)
return false if (!@stringId.nil? and !@stringId.eql?(compareTo.instance_variable_get("@stringId")))
return false unless @stringListIds.size == compareTo.instance_variable_get("@stringListIds").size
@stringListIds.each do |me|
them = compareTo.instance_variable_get("@stringListIds").get(i)
return false if (me.nil? and !them.nil?)
return false if (!me.nil? and !me.eql?(them))
end
true
end
def hash
return @cachedHashCode unless @cachedHashCode == -1
@cachedHashCode = 17
@cachedHashCode = @cachedHashCode * 23 + @intId
@cachedHashCode = @cachedHashCode * 23 + @doubleId.hash
@cachedHashCode = @cachedHashCode * 23 + (@booleanId ? 1 : 0)
if (!@stringId.nil?)
@cachedHashCode = @cachedHashCode * 23 + @stringId.hash
else
@cachedHashCode = @cachedHashCode * 23
end
if (!@stringListIds.nil?)
@cachedHashCode = @cachedHashCode * 23 + @stringListIds.hash
else
@cachedHashCode = @cachedHashCode * 23
end
@can_set_intId = false
@can_set_doubleId = false
@can_set_booleanId = false
@can_set_stringId = false
@can_set_stringListIds = false
@cachedHashCode
end
def delete
@deleted = true
end
end
end
# PLEASE DO NOT EDIT THIS CODE
# This code was generated using the UMPLE 1.32.1.6535.66c005ced modeling language!
# NOTE: Ruby generator is experimental and is missing some features available in
# in other Umple generated languages like Java or PHP
module Example
class Student
#------------------------
# MEMBER VARIABLES
#------------------------
#Student Attributes - for documentation purposes
#attr_reader :intId, :doubleId, :booleanId, :stringId
#------------------------
# CONSTRUCTOR
#------------------------
def initialize(a_doubleId, a_booleanId, a_stringId)
@initialized = false
@deleted = false
@cachedHashCode = -1
@intId = 0
@can_set_intId = true
@doubleId = a_doubleId
@can_set_doubleId = false
@booleanId = a_booleanId
@can_set_booleanId = false
@stringId = a_stringId
@can_set_stringId = false
@initialized = true
end
#------------------------
# INTERFACE
#------------------------
def set_intId(a_intId)
was_set = false
return false unless @can_set_intId
@can_set_intId = false
@intId = a_intId
was_set = true
was_set
end
def get_intId
@intId
end
def get_doubleId
@doubleId
end
def get_booleanId
@booleanId
end
def get_stringId
@stringId
end
def is_booleanId?
@booleanId
end
def eql?(obj)
return false if obj.nil?
return false unless self.class == obj.class
compareTo = obj
return false unless @intId == compareTo.instance_variable_get("@intId")
return false unless @doubleId == compareTo.instance_variable_get("@doubleId")
return false unless @booleanId == compareTo.instance_variable_get("@booleanId")
return false if (@stringId.nil? and !compareTo.instance_variable_get("@stringId").nil?)
return false if (!@stringId.nil? and !@stringId.eql?(compareTo.instance_variable_get("@stringId")))
true
end
def hash
return @cachedHashCode unless @cachedHashCode == -1
@cachedHashCode = 17
@cachedHashCode = @cachedHashCode * 23 + @intId
@cachedHashCode = @cachedHashCode * 23 + @doubleId.hash
@cachedHashCode = @cachedHashCode * 23 + (@booleanId ? 1 : 0)
if (!@stringId.nil?)
@cachedHashCode = @cachedHashCode * 23 + @stringId.hash
else
@cachedHashCode = @cachedHashCode * 23
end
@can_set_intId = false
@can_set_doubleId = false
@can_set_booleanId = false
@can_set_stringId = false
@cachedHashCode
end
def delete
@deleted = true
end
end
end
# PLEASE DO NOT EDIT THIS CODE
# This code was generated using the UMPLE 1.32.1.6535.66c005ced modeling language!
# NOTE: Ruby generator is experimental and is missing some features available in
# in other Umple generated languages like Java or PHP
module Example
class Mentor
#------------------------
# MEMBER VARIABLES
#------------------------
#Mentor Associations - for documentation purposes
#attr_reader :main, :secondaries
#------------------------
# CONSTRUCTOR
#------------------------
def initialize()
@initialized = false
@deleted = false
@cachedHashCode = -1
@can_set_main = true
@can_set_secondaries = true
@main = nil
@secondaries = []
@initialized = true
end
#------------------------
# INTERFACE
#------------------------
def get_main
@main
end
def has_main
has = !@main.nil?
has
end
def get_secondary(index)
a_secondary = @secondaries[index]
a_secondary
end
def get_secondaries
new_secondaries = @secondaries.dup
new_secondaries
end
def number_of_secondaries
number = @secondaries.size
number
end
def has_secondaries
has = @secondaries.size > 0
has
end
def index_of_secondary(a_secondary)
index = @secondaries.index(a_secondary)
index = -1 if index.nil?
index
end
def set_main(a_new_main)
was_set = false
return false unless @can_set_main
if a_new_main.nil?
existing_main = @main
@main = nil
if !existing_main.nil? and !existing_main.get_mentorMain.nil?
existing_main.set_mentorMain(nil)
end
was_set = true
return was_set
end
current_main = self.get_main
if !current_main.nil? and !current_main.eql?(a_new_main)
current_main.set_mentorMain(nil)
end
@main = a_new_main
existing_mentorMain = a_new_main.get_mentorMain
unless self.eql?(existing_mentorMain)
a_new_main.set_mentorMain(self)
end
was_set = true
was_set
end
def self.minimum_number_of_secondaries
0
end
def add_secondary(a_secondary)
was_added = false
return false unless @can_set_secondaries
return false if index_of_secondary(a_secondary) != -1
existing_mentorSecondary = a_secondary.get_mentorSecondary
if existing_mentorSecondary.nil?
a_secondary.set_mentorSecondary(self)
elsif !existing_mentorSecondary.eql?(self)
existing_mentorSecondary.remove_secondary(a_secondary)
add_secondary(a_secondary)
else
@secondaries << a_secondary
end
was_added = true
was_added
end
def remove_secondary(a_secondary)
was_removed = false
return false unless @can_set_secondaries
if @secondaries.include?(a_secondary)
@secondaries.delete(a_secondary)
a_secondary.set_mentorSecondary(nil)
was_removed = true
end
was_removed
end
def add_secondary_at(a_secondary, index)
was_added = false
if add_secondary(a_secondary)
if(index < 0)
index = 0
end
if(index > number_of_secondaries())
index = number_of_secondaries() - 1
end
@secondaries.delete(a_secondary)
@secondaries.insert(index, a_secondary)
was_added = true
end
was_added
end
def add_or_move_secondary_at(a_secondary, index)
was_added = false
if @secondaries.include?(a_secondary)
if(index < 0)
index = 0
end
if(index > number_of_secondaries())
index = number_of_secondaries() - 1
end
@secondaries.delete(a_secondary)
@secondaries.insert(index, a_secondary)
was_added = true
else
was_added = add_secondary_at(a_secondary, index)
end
was_added
end
def eql?(obj)
return false if obj.nil?
return false unless self.class == obj.class
compareTo = obj
return false if (@main.nil? and !compareTo.instance_variable_get("@main").nil?)
return false if (!@main.nil? and !@main.eql?(compareTo.instance_variable_get("@main")))
return false unless @secondaries.size == compareTo.instance_variable_get("@secondaries").size
@secondaries.each do |me|
them = compareTo.instance_variable_get("@secondaries").get(i)
return false if (me.nil? and !them.nil?)
return false if (!me.nil? and !me.eql?(them))
end
true
end
def hash
return @cachedHashCode unless @cachedHashCode == -1
@cachedHashCode = 17
if (!@main.nil?)
@cachedHashCode = @cachedHashCode * 23 + @main.hash
else
@cachedHashCode = @cachedHashCode * 23
end
if (!@secondaries.nil?)
@cachedHashCode = @cachedHashCode * 23 + @secondaries.hash
else
@cachedHashCode = @cachedHashCode * 23
end
@can_set_main = false
@can_set_secondaries = false
@cachedHashCode
end
def delete
@deleted = true
unless @main.nil?
@main.set_mentorMain(nil)
end
@secondaries.each do |a_secondary|
a_secondary.set_mentorSecondary(nil)
end
end
end
end