今天在4.4看见一种比较奇怪的继承方式,不知道是我out了,还是out了
mark吧
public abstract class AtomicOperation implements Serializable {
private static final long serialVersionUID = 1L;
public static final AtomicOperation EXECUTE_ACTIVITY = new ExecuteActivity(); public static final AtomicOperation PROPAGATE_TO_PARENT = new MoveToParentActivity(); public static final AtomicOperation TRANSITION_TAKE = new TransitionTake(); public static final AtomicOperation TRANSITION_START_ACTIVITY = new TransitionStartActivity(); public static final AtomicOperation EXECUTE_EVENT_LISTENER = new ExecuteEventListener(); public static final AtomicOperation TRANSITION_END_ACTIVITY = new TransitionEndActivity();public abstract boolean isAsync(ExecutionImpl execution);
public abstract MessageImpl createAsyncMessage(ExecutionImpl execution); public abstract void perform(ExecutionImpl execution); public static AtomicOperation parseAtomicOperation(String text) { if (text==null) { return null; }if (TRANSITION_END_ACTIVITY.toString().equals(text)) return TRANSITION_END_ACTIVITY;
if (EXECUTE_EVENT_LISTENER.toString().equals(text)) return EXECUTE_EVENT_LISTENER; if (EXECUTE_ACTIVITY.toString().equals(text)) return EXECUTE_ACTIVITY; if (TRANSITION_TAKE.toString().equals(text)) return TRANSITION_TAKE; if (TRANSITION_START_ACTIVITY.toString().equals(text)) return TRANSITION_START_ACTIVITY; if (PROPAGATE_TO_PARENT.toString().equals(text)) return PROPAGATE_TO_PARENT;throw new JbpmException("invalid atomic operation text: "+text);
}}
在父类里包括六个静态的子类的实例!第一次遇到