/* * This file is part of LibrePlan * * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Desenvolvemento Tecnolóxico de Galicia * Copyright (C) 2010-2012 Igalia, S.L. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.libreplan.business.orders.entities; import static org.libreplan.business.i18n.I18nHelper._; import java.util.EnumSet; /** * @author Susana Montes Pedreiera <smotnes@wirelessgalicia.com> * @author Manuel Rego Casasnovas <rego@igalia.com> * @author Vova Perebykivskyi <vova@libreplan-enterprise.com> */ public enum OrderStatusEnum { PRE_SALES(_("PRE-SALES"), 0), OFFERED(_("OFFERED"), 1), OUTSOURCED(_("OUTSOURCED"), 2), ACCEPTED(_("ACCEPTED"), 3), STARTED(_("STARTED"), 4), ON_HOLD(_("ON HOLD"), 5), FINISHED(_("FINISHED"), 6), CANCELLED(_("CANCELLED"), 7), STORED(_("ARCHIVED"), 8); private String description; /** * For {@link DashboardControllerGlobal}. * When I am building Global Dashboard page I need to know order of enums in {@link Grid}. */ private final int index; OrderStatusEnum(String description, int index) { this.description = description; this.index = index; } @Override public String toString() { return this.description; } public int getIndex() { return this.index; } public static OrderStatusEnum getDefault() { return PRE_SALES; } public static EnumSet<OrderStatusEnum> getVisibleStatus() { return EnumSet.of( OrderStatusEnum.PRE_SALES, OrderStatusEnum.OFFERED, OrderStatusEnum.OUTSOURCED, OrderStatusEnum.ACCEPTED, OrderStatusEnum.STARTED, OrderStatusEnum.ON_HOLD, OrderStatusEnum.FINISHED); } }