package org.objectstyle.wolips.eomodeler.utils; import org.eclipse.core.databinding.UpdateValueStrategy; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; public class BooleanUpdateValueStrategy extends UpdateValueStrategy { public BooleanUpdateValueStrategy() { super(); } public BooleanUpdateValueStrategy(int updatePolicy) { super(updatePolicy); } public BooleanUpdateValueStrategy(boolean provideDefaults, int updatePolicy) { super(provideDefaults, updatePolicy); } @Override public Object convert(Object value) { Object finalValue = value; if (value == null) { finalValue = Boolean.FALSE; } return super.convert(finalValue); } @Override protected IStatus doSet(IObservableValue observableValue, Object value) { Object finalValue = value; if (value == null) { finalValue = Boolean.FALSE; } return super.doSet(observableValue, finalValue); } @Override public IStatus validateAfterGet(Object value) { IStatus status = super.validateAfterGet(value); if (value == null) { status = Status.OK_STATUS; } return status; } }