EN · DE · RU · FR · ES

#580: TeamEventAttendeeStatus.java

projectforge-business/src/main/java/org/projectforge/business/teamcal/event/model/TeamEventAttendeeStatus.java Type: Java · Role: Calendar · Source: projectforge-business/src/main/java/org/projectforge/business/teamcal/event/model/TeamEventAttendeeStatus.java 118 lines · 72 code · 34 comments · 12 blank
Source code file at projectforge-business/src/main/java/org/projectforge/business/teamcal/event/model/TeamEventAttendeeStatus.java containing Java code for the Calendar layer.

Code Structure

Package: org.projectforge.business.teamcal.event.model

Enums: TeamEventAttendeeStatus

Implements: I18nEnum

Methods (6): getKey, getI18nKey, getI18nValue, isIn, getPartStat, getStatusForPartStat

Fields (2): key, partStat

Imports: 3 packages

Source Code (abridged)

package org.projectforge.business.teamcal.event.model;

import net.fortuna.ical4j.model.parameter.PartStat;
import org.projectforge.common.i18n.I18nEnum;
import org.projectforge.framework.i18n.I18nHelper;

/**
 * @author Kai Reinhard (k.reinhard@micromata.de)
 */
public enum TeamEventAttendeeStatus implements I18nEnum
{
  ACCEPTED("accepted", PartStat.ACCEPTED),
  COMPLETED("completed", PartStat.COMPLETED),
  DECLINED("declined", PartStat.DECLINED),
  DELEGATED("delegated", PartStat.DELEGATED),
  IN_PROCESS("in_process", PartStat.IN_PROCESS),
  NEEDS_ACTION("needs_action", PartStat.NEEDS_ACTION),
  TENTATIVE("tentative", PartStat.TENTATIVE);

  private String key;
  private PartStat partStat;

  /**
   * @return The key suffix will be used e. g. for i18n.
   */
  public String getKey()
  {
    return key;
  }

  /**
   * @return The full i18n key including the i18n prefix "fibu.auftrag.status.".
   */
  @Override
  public String getI18nKey()
  {
    return "plugins.teamcal.attendee.status." + key;
  }

  /**
   * @return The i18n localized value.
   */
  public String getI18nValue()
  {
    return I18nHelper.getLocalizedMessage(getI18nKey());
  }

  TeamEventAttendeeStatus(final String key, final PartStat partStat)
  {
    this.key = key;
    this.partStat = partStat;
  }

  public boolean isIn(final TeamEventAttendeeStatus... status)
  {
    for (final TeamEventAttendeeStatus st : status) {
      if (this == st) {
        return true;
      }
    }
    return false;
  }

  public PartStat getPartStat()
  {
    return this.partStat;
  }

  public static TeamEventAttendeeStatus getStatusForPartStat(final String partStat)
  {
    if (PartStat.ACCEPTED.getValue().equals(partStat)) {
      return TeamEventAttendeeStatus.ACCEPTED;
    }
    if (PartStat.COMPLETED.getValue().equals(partStat)) {
      return TeamEventAttendeeStatus.COMPLETED;
    }
    if (PartStat.DECLINED.getValue().equals(partStat)) {
      return TeamEventAttendeeStatus.DECLINED;
    }
    if (PartStat.DELEGATED.getValue().equals(partStat)) {
      return TeamEventAttendeeStatus.DELEGATED;
    }
    if (PartStat.IN_PROCESS.getValue().equals(partStat)) {
      return TeamEventAttendeeStatus.IN_PROCESS;
    }
    if (PartStat.NEEDS_ACTION.getValue().equals(partStat)) {
      return TeamEventAttendeeStatus.NEEDS_ACTION;
    }
    if (PartStat.TENTATIVE.getValue().equals(partStat)) {
      return TeamEventAttendeeStatus.TENTATIVE;
    }

    return null;
  }
}

Git History

868d6abb7 2025 -> 2026
63081666f Source file headers: 2024-> 2025.
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
5f7ef41b8 Copyright 2021 -> 2022