tikhomirov@445: /* tikhomirov@445: * Copyright (c) 2012 TMate Software Ltd tikhomirov@445: * tikhomirov@445: * This program is free software; you can redistribute it and/or modify tikhomirov@445: * it under the terms of the GNU General Public License as published by tikhomirov@445: * the Free Software Foundation; version 2 of the License. tikhomirov@445: * tikhomirov@445: * This program is distributed in the hope that it will be useful, tikhomirov@445: * but WITHOUT ANY WARRANTY; without even the implied warranty of tikhomirov@445: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the tikhomirov@445: * GNU General Public License for more details. tikhomirov@445: * tikhomirov@445: * For information on how to redistribute this software under tikhomirov@445: * the terms of a license other than GNU General Public License tikhomirov@445: * contact TMate Software at support@hg4j.com tikhomirov@445: */ tikhomirov@445: package org.tmatesoft.hg.repo; tikhomirov@445: tikhomirov@445: /** tikhomirov@445: * Phases for a changeset is a new functionality in Mercurial 2.1 tikhomirov@445: * tikhomirov@626: * @since 1.1 tikhomirov@445: * @author Artem Tikhomirov tikhomirov@445: * @author TMate Software Ltd. tikhomirov@445: */ tikhomirov@445: public enum HgPhase { tikhomirov@445: tikhomirov@445: Public("public"), Draft("draft"), Secret("secret"), Undefined(""); tikhomirov@445: tikhomirov@445: private final String hgString; tikhomirov@445: tikhomirov@445: private HgPhase(String stringRepresentation) { tikhomirov@445: hgString = stringRepresentation; tikhomirov@445: } tikhomirov@445: tikhomirov@445: // public String toMercurialString() { tikhomirov@445: // return hgString; tikhomirov@445: // } tikhomirov@445: tikhomirov@445: public static HgPhase parse(int value) { tikhomirov@445: switch (value) { tikhomirov@445: case 0 : return Public; tikhomirov@445: case 1 : return Draft; tikhomirov@445: case 2 : return Secret; tikhomirov@445: } tikhomirov@445: throw new IllegalArgumentException(String.format("Bad phase index: %d", value)); tikhomirov@445: } tikhomirov@474: tikhomirov@474: public static HgPhase parse(String value) { tikhomirov@474: if (Public.hgString.equals(value)) { tikhomirov@474: return Public; tikhomirov@474: } tikhomirov@474: if (Draft.hgString.equals(value)) { tikhomirov@474: return Draft; tikhomirov@474: } tikhomirov@474: if (Secret.hgString.equals(value)) { tikhomirov@474: return Secret; tikhomirov@474: } tikhomirov@474: throw new IllegalArgumentException(String.format("Bad phase name: %d", value)); tikhomirov@474: } tikhomirov@445: }