⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 enum.java

📁 一个java工作流引擎
💻 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 + -