| /******************************************************************************* |
| * Copyright (c) 25.04.2012 Aaron Digulla. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Aaron Digulla - initial API and implementation and/or initial documentation |
| *******************************************************************************/ |
| |
| package m4e; |
| |
| import java.util.HashMap; |
| import java.util.Map; |
| |
| public enum Error { |
| TWO_VERSIONS( 1 ), |
| MAVEN_FAILED( 2 ), |
| MISSING_MANIFEST( 3 ), |
| IMPORT_ERROR( 4 ); |
| |
| private final static Map<String, Error> map = new HashMap<String, Error>(); |
| static { |
| for( Error e : Error.values() ) { |
| Error old = map.put( e.code(), e ); |
| if( null != old ) { |
| throw new IllegalStateException( "Duplicate codes: " + e + " and " + old ); |
| } |
| } |
| } |
| |
| private final String code; |
| |
| private Error( int id ) { |
| this.code = String.format( "E%04d", id ); |
| } |
| |
| public String code() { |
| return code; |
| } |
| |
| public static Error fromCode( String code ) { |
| Error result = map.get( code ); |
| if( null == result ) { |
| throw new IllegalArgumentException( "Undefined Error " + code ); |
| } |
| return result; |
| } |
| |
| public String url() { |
| return Warning.BASE_URL + code(); |
| } |
| } |