package org.eclipse.jst.jsf.common.internal.resource; /** * @author cbateman * */ public class EventResult { private static EventResult DEFAULT; /** * @return an event result with defaults initialized */ public synchronized static EventResult getDefaultEventResult() { if (DEFAULT == null) { DEFAULT = new EventResult() { @Override protected void setDisposeAfterEvent(final boolean disposeAfterEvent) { throw new UnsupportedOperationException(); } }; } return DEFAULT; } private static EventResult DISPOSE_AFTER_EVENT; /** * @return an event result with default except dispose after * is set */ public synchronized static EventResult getDisposeAfterEventResult() { if (DISPOSE_AFTER_EVENT == null) { DISPOSE_AFTER_EVENT = new EventResult() { /** * @return the remove listener flag */ @Override public boolean getDisposeAfterEvent() { return true; } /** * @param disposeAfterEvent */ @Override protected void setDisposeAfterEvent(final boolean disposeAfterEvent) { _disposeAfterEvent = disposeAfterEvent; } }; } return DISPOSE_AFTER_EVENT; } /** * set to true if after the current event is finished firing, the source * should be disposed. If self-disposal is not applicable, the flag is ignored */ protected boolean _disposeAfterEvent; /** * @return the remove listener flag */ public boolean getDisposeAfterEvent() { return _disposeAfterEvent; } /** * @param disposeAfterEvent */ protected void setDisposeAfterEvent(final boolean disposeAfterEvent) { _disposeAfterEvent = disposeAfterEvent; } }