📄 abstractcode.java
字号:
/* CRMS, customer relationship management system Copyright (C) 2003 Service To Youth Council This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA For further information contact the SYC ICT department on GPL@syc.net.au 98 Kermode Street North Adelaide South Australia SA 5006 +61 (0)8 8367 0755 *//* * AbstractCode.java * * Created on 8 April 2003, 00:55 */package crms.util;import java.lang.reflect.*;import java.util.*;import org.apache.log4j.Logger;/** * * @author dmurphy */public class AbstractCode { static Logger logger = Logger.getLogger(AbstractCode.class); private String code = null; private String name = null; /** Creates a new instance of AbstractCode */ public AbstractCode(String code, String name) { this.code = code; this.name = name; } public AbstractCode() { } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getName() { return name; } public void setName(String name) { this.name = name; } public static AbstractCode decode( String code, Class clazz) { logger.debug("code = " + code + " clazz=" + clazz); ArrayList types = (ArrayList) getTypes(clazz); for (int i=0; i < types.size(); i++) { if (((AbstractCode)types.get(i)).getCode().equals(code)) { return (AbstractCode) types.get(i); } } return null; } public static List getTypes(Class clazz) { return getTypes(clazz, false); } public static List getTypes(Class clazz, boolean withBlank) { List types = new ArrayList(); if (withBlank) { types.add(new AbstractCode(null, null)); } Field[] fields = clazz.getDeclaredFields(); try { for (int i=0; i < fields.length; i++) { Field f = fields[i]; if (Modifier.isPublic(f.getModifiers()) && AbstractCode.class.isAssignableFrom(f.getDeclaringClass())) { Object o = f.get(null); if (o instanceof AbstractCode) { AbstractCode fieldCode = (AbstractCode) o; types.add(fieldCode); } } } } catch (Exception e) { throw new RuntimeException(e); } return types; } public String toString() { return name; } public static AbstractCode getForCode(String code, Class clazz) { Field[] fields = clazz.getDeclaredFields(); try { for (int i=0; i < fields.length; i++) { Field f = fields[i]; if (Modifier.isPublic(f.getModifiers()) && AbstractCode.class.isAssignableFrom(f.getDeclaringClass())) { AbstractCode fieldCode = (AbstractCode) f.get(null); if (code.trim().equals(fieldCode.getCode())) return fieldCode; } } } catch (Exception ex) { } return null; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -