📄 enum.java
字号:
package org.jbpm.util.lang;
import java.io.*;
import java.util.*;
public class Enum implements Serializable {
private static Map enums = new HashMap();
protected Object id = null;
public Object getId() {
return id;
}
protected Enum( Object id ) {
if ( id == null ) throw new NullPointerException( "id of a '" + getClass().getName() + "' is null" );
this.id = id;
// add this enum to the enums
Class enumClass = this.getClass();
Map classEnums = (Map) enums.get( enumClass );
if ( classEnums == null ) {
classEnums = new HashMap();
enums.put( enumClass, classEnums );
}
if ( classEnums.containsKey( id ) ) throw new IllegalArgumentException( "duplicate id '" + id + "' was used to create an enum of class '" + getClass().getName() + "'" );
classEnums.put( id, this );
}
public static Enum findById( Class enumClass, Object id ) {
Enum enum = null;
Map classEnums = (Map) enums.get( enumClass );
if ( classEnums != null ) {
enum = (Enum) classEnums.get( id );
}
return enum;
}
public Object readResolve() throws ObjectStreamException {
return findById( this.getClass(), id );
}
public String toString() {
return id.toString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -