/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * Copyright (c) 2013, MPL CodeInside http://codeinside.ru */ package ru.codeinside.adm.database; import java.util.ArrayList; import java.util.List; public enum DefinitionStatus { Work("Работает"), Done("Готово"), Debugging("Отладка"), Created("Создан"), PathToArchive("На пути в архив"), Archive("Архив"); private String name; DefinitionStatus(String name) { this.name = name; } public String getLabelName() { return name; } public List<DefinitionStatus> getAvailableStatus() { List<DefinitionStatus> result = new ArrayList<DefinitionStatus>(); switch (this) { case Created: result.add(Archive); result.add(Debugging); break; case Debugging: result.add(Archive); result.add(Done); break; case Done: result.add(Archive); result.add(Work); result.add(Debugging); break; case Work: //result.add(PathToArchive); result.add(Archive); break; case PathToArchive: result.add(Archive); break; default: break; } return result; } public static DefinitionStatus getStatusByLabelName(String labelName) { for (DefinitionStatus s : DefinitionStatus.values()) { if (s.getLabelName().equals(labelName)) { return s; } } return DefinitionStatus.Created; } }