/** * Este arquivo é parte do Biblivre3. * * Biblivre3 é um software livre; você pode redistribuí-lo e/ou * modificá-lo dentro dos termos da Licença Pública Geral GNU como * publicada pela Fundação do Software Livre (FSF); na versão 3 da * Licença, ou (caso queira) qualquer versão posterior. * * Este programa é distribuído na esperança de que possa ser útil, * mas SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de * MERCANTIBILIDADE OU ADEQUAÇÃO PARA UM FIM PARTICULAR. Veja a * Licença Pública Geral GNU para maiores detalhes. * * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto * com este programa, Se não, veja em <http://www.gnu.org/licenses/>. * * @author Alberto Wagner <alberto@biblivre.org.br> * @author Danniel Willian <danniel@biblivre.org.br> * */ package biblivre3.enums; public enum MaterialType { BOOK("BOOK", 'a', "m "), MANUSCRIPT("BOOKM", 't', "m "), PAMPHLET("BOOKP", 'a', "m "), THESIS("BOOKT", 'a', "m "), COMPUTER_LEGIBLE("CFILES", 'm', "m "), CARTOGRAPHIC("MAPS", 'e', "m "), MOVIE("MOVIE", 'p', "m "), SCORE("MUSIC", 'c', "m "), OBJECT_3D("OBJ3D", 'r', "m "), ICONOGRAPHIC("PHOTO", 'k', "m "), PERIODIC("SERIAL", 'a', "s "), ARTICLES("SERIAR", 'a', "b "), MUSIC("SOUND", 'j', "m "), AUTHORITIES("AUTHORITIES", 'z', " "), VOCABULARY("VOCABULARY", 'w', " "), HOLDINGS("HOLDINGS", 'u', " "), ALL("ALL", 'a', "m "); private String code; private char typeOfRecord; private String implDefined1; private MaterialType(String code, char typeOfRecord, String implDef1) { this.code = code; this.typeOfRecord = typeOfRecord; this.implDefined1 = implDef1; } public final String getCode() { return this.code; } public final char getTypeOfRecord() { return this.typeOfRecord; } public final String getImplDefined1() { return this.implDefined1; } public static MaterialType getByCode(final String code) { if (code == null) { return null; } for (MaterialType type : values()) { if (type.getCode().toUpperCase().equals(code.toUpperCase())) { return type; } } return null; } public static MaterialType getByTypeAndImplDef(char typeOfRecord, char[] implDef1) { for (MaterialType type : values()) { if ( type.getTypeOfRecord() == typeOfRecord && type.getImplDefined1().equals(String.valueOf(implDef1)) ) { return type; } } return MaterialType.BOOK; } }