X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.databoard%2Fsrc%2Forg%2Fsimantics%2Fdataboard%2Fbinding%2Fimpl%2FBooleanBindingDefault.java;fp=bundles%2Forg.simantics.databoard%2Fsrc%2Forg%2Fsimantics%2Fdataboard%2Fbinding%2Fimpl%2FBooleanBindingDefault.java;h=1bc972a0bd1fc700b111b72f1de3b3a0c970c9bf;hb=969bd23cab98a79ca9101af33334000879fb60c5;hp=0000000000000000000000000000000000000000;hpb=866dba5cd5a3929bbeae85991796acb212338a08;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/impl/BooleanBindingDefault.java b/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/impl/BooleanBindingDefault.java new file mode 100644 index 000000000..1bc972a0b --- /dev/null +++ b/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/impl/BooleanBindingDefault.java @@ -0,0 +1,78 @@ +/******************************************************************************* + * Copyright (c) 2010 Association for Decentralized Information Management in + * Industry THTH ry. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +package org.simantics.databoard.binding.impl; + +import org.simantics.databoard.binding.BooleanBinding; +import org.simantics.databoard.binding.error.BindingException; +import org.simantics.databoard.binding.error.UnsupportedOperationException; +import org.simantics.databoard.type.BooleanType; + +/** + * Binds Boolean Type to java.lang.Boolean-class. + * + * @author Toni Kalajainen + */ +public class BooleanBindingDefault extends BooleanBinding { + + public BooleanBindingDefault(BooleanType type) { + super( type ); + } + + public Object create(boolean value) + { + return value; + } + + public Object create(Boolean value) + { + return value; + } + + public void setValue(Object obj, Boolean newValue) + throws BindingException + { + throw new UnsupportedOperationException("Cannot change the value of immutable java.lang.Boolean"); + } + + public void setValue(Object obj, boolean newValue) + throws BindingException + { + if (((Boolean)obj).booleanValue() == newValue) return; + throw new UnsupportedOperationException("Cannot change the value of immutable java.lang.Boolean"); + } + + @Override + public Boolean getValue(Object o) + throws BindingException + { + return ((Boolean)o); + } + + @Override + public boolean getValue_(Object o) + throws BindingException + { + return ((Boolean)o); + } + + @Override + public boolean isInstance(Object obj) { + return obj instanceof Boolean; + } + + @Override + public boolean isImmutable() { + return true; + } + +} +