package activitySystem;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;

/**
 * 活动类,用于表示一个活动的信息和相关操作。
 */
public class Activity {
    String id;
    String name;
    String description;
    Date endTime;
    Date startTime;
    String site;
    ArrayList<Team> teams= new ArrayList<>();
    ArrayList<Teacher> teachers = new ArrayList<>();
    ArrayList<Organizer> organizers = new ArrayList<>();

    /**
     * 获取活动的ID。
     *
     * @return 活动的ID
     */
    public String getId(){
        return id;
    }

    /**
     * 获取活动的名称。
     *
     * @return 活动的名称
     */
    public String getName(){
        return name;
    }

    /**
     * 获取活动的描述。
     *
     * @return 活动的描述
     */
    public String getDescription(){
        return description;
    }

    /**
     * 获取活动的地点。
     *
     * @return 活动的地点
     */
    public String getSite(){
        return site;
    }

    /**
     * 获取活动的结束时间。
     *
     * @return 活动的结束时间
     */
    public Date getEndTime(){
        return endTime;
    }

    /**
     * 获取活动的开始时间。
     *
     * @return 活动的开始时间
     */
    public Date getStartTime(){
        return startTime;
    }

    /**
     * 设置活动的描述。
     *
     * @param description 活动的描述
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * 将团队添加到活动中。
     *
     * @param team 要添加的团队
     */
    public void addTeamToActivity(Team team){
        teams.add(team);
    }

    /**
     * 从活动中移除指定ID的团队。
     *
     * @param id 要移除的团队的ID
     */
    public void removeTeamFromActivity(String id)
    {
        teams.removeIf(t -> t.teamId.equals(id));
    }

    /**
     * 将教师添加到活动中。
     *
     * @param teacher 要添加的教师
     */
    public void addTeacherToActivity(Teacher teacher)
    {
        teachers.add(teacher);
    }

    /**
     * 从活动中移除指定ID的教师。
     *
     * @param id 要移除的教师的ID
     */
    public void removeTeacherFromActivity(String id)
    {
        teachers.removeIf(t->t.id.equals(id));
    }

    /**
     * 将组织者添加到活动中。
     *
     * @param organizer 要添加的组织者
     */
    public void addOrganizerToActivity(Organizer organizer)
    {
        organizers.add(organizer);
    }

    /**
     * 从活动中移除指定ID的组织者。
     *
     * @param id 要移除的组织者的ID
     */
    public void removeOrganizerFromActivity(String id)
    {
        organizers.removeIf(o -> o.id.equals(id));
    }

    /**
     * 获取团队的迭代器。
     *
     * @return 团队的迭代器
     */
    public Iterator<Team> getTeamsIterator()
    {
        return teams.iterator();
    }

    /**
     * 获取教师的迭代器。
     *
     * @return 教师的迭代器
     */
    public  Iterator<Teacher> getTeachersIterator()
    {
        return teachers.iterator();
    }

    /**
     * 获取组织者的迭代器。
     *
     * @return 组织者的迭代器
     */
    public Iterator<Organizer> getOrganizersIterator()
    {
        return organizers.iterator();
    }

    /**
     * 返回活动的字符串表示形式。
     *
     * @return 活动的字符串表示形式
     */
    @Override
    public String toString() {
        return id + '_' + name +'_' + description + '_' + site+'_' + startTime.toString()+'_' + endTime.toString();
    }

    /**
     * 比较当前活动与给定对象是否相等。
     *
     * @param obj 要比较的对象
     * @return 如果活动与给定对象相等,则返回true;否则返回false
     */
    public boolean equals(Object obj) {
        if (obj instanceof Activity activity)
            return this.id.equals(activity.id);
        return false;
    }
}
Java 活动管理系统:Activity 类详解

原文地址: https://www.cveoy.top/t/topic/Q4K 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录