itemstate.java

来自「hibernate in action 源码 caveatemptor-0.9.」· Java 代码 · 共 43 行

JAVA
43
字号
package org.hibernate.auction.model;

import java.io.Serializable;
import java.util.*;

public class ItemState implements Serializable {

	private char state;

	public static final ItemState DRAFT = new ItemState('D');
	public static final ItemState PENDING = new ItemState('P');
	public static final ItemState ACTIVE = new ItemState('A');

	private static final Map INSTANCES = new HashMap();

	static {
		INSTANCES.put(DRAFT.toString(), DRAFT);
		INSTANCES.put(PENDING.toString(), PENDING);
		INSTANCES.put(ACTIVE.toString(), ACTIVE);
	}

	/**
	 * Prevent instantiation and subclassing with a private constructor.
	 */
	private ItemState(char state) {
		this.state = state;
	}

	// ********************** Common Methods ********************** //

	public String toString() {
		return Character.toString(state);
	}

	Object readResolve() {
		return getInstance(state);
	}

	public static ItemState getInstance(char name) {
		return (ItemState) INSTANCES.get(Character.toString(name));
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?