package org.icij.extract.extractor; import java.util.Map; import java.util.HashMap; /** * Status for the extraction result of a file. * * @since 1.0.0-beta */ public enum ExtractionStatus { SUCCESS(0), FAILURE_NOT_FOUND(1), FAILURE_UNREADABLE(2), FAILURE_NOT_DECRYPTED(3), FAILURE_NOT_PARSED(4), FAILURE_UNKNOWN(9), FAILURE_NOT_SAVED(10); private final int code; private static final Map<Integer, ExtractionStatus> lookup = new HashMap<>(); static { for (ExtractionStatus result: ExtractionStatus.values()) { lookup.put(result.getCode(), result); } } public static ExtractionStatus parse(final Number value) { return parse(value.intValue()); } public static ExtractionStatus parse(final Integer value) { return lookup.get(value); } public static ExtractionStatus parse(final String value) { return parse(Integer.valueOf(value)); } ExtractionStatus(final int code) { this.code = code; } public int getCode() { return code; } }