X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=bundles%2Forg.simantics.databoard%2Fsrc%2Forg%2Fsimantics%2Fdataboard%2Faccessor%2Fbinary%2FBinaryBoolean.java;h=6b0e45573e951ea092f58ef0e6179d122419dac3;hb=48bb50bb6640506d1f150ca8e4fa5a6e878464be;hp=b3ad1673f92bf8d945ff96b07e95667e8576caea;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.databoard/src/org/simantics/databoard/accessor/binary/BinaryBoolean.java b/bundles/org.simantics.databoard/src/org/simantics/databoard/accessor/binary/BinaryBoolean.java index b3ad1673f..6b0e45573 100644 --- a/bundles/org.simantics.databoard/src/org/simantics/databoard/accessor/binary/BinaryBoolean.java +++ b/bundles/org.simantics.databoard/src/org/simantics/databoard/accessor/binary/BinaryBoolean.java @@ -1,36 +1,36 @@ -/******************************************************************************* - * 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 - *******************************************************************************/ +/******************************************************************************* + * 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.accessor.binary; -import java.io.IOException; - -import org.simantics.databoard.Bindings; -import org.simantics.databoard.accessor.Accessor; -import org.simantics.databoard.accessor.BooleanAccessor; -import org.simantics.databoard.accessor.error.AccessorConstructionException; -import org.simantics.databoard.accessor.error.AccessorException; -import org.simantics.databoard.accessor.error.ReferenceException; -import org.simantics.databoard.accessor.event.Event; -import org.simantics.databoard.accessor.event.ValueAssigned; -import org.simantics.databoard.accessor.file.FileBooleanAccessor; -import org.simantics.databoard.accessor.impl.AccessorParams; -import org.simantics.databoard.accessor.impl.ListenerEntry; -import org.simantics.databoard.accessor.interestset.BooleanInterestSet; -import org.simantics.databoard.accessor.reference.ChildReference; -import org.simantics.databoard.binding.Binding; -import org.simantics.databoard.binding.BooleanBinding; -import org.simantics.databoard.binding.error.BindingException; -import org.simantics.databoard.type.BooleanType; -import org.simantics.databoard.util.binary.Blob; +import java.io.IOException; + +import org.simantics.databoard.Bindings; +import org.simantics.databoard.accessor.Accessor; +import org.simantics.databoard.accessor.BooleanAccessor; +import org.simantics.databoard.accessor.error.AccessorConstructionException; +import org.simantics.databoard.accessor.error.AccessorException; +import org.simantics.databoard.accessor.error.ReferenceException; +import org.simantics.databoard.accessor.event.Event; +import org.simantics.databoard.accessor.event.ValueAssigned; +import org.simantics.databoard.accessor.file.FileBooleanAccessor; +import org.simantics.databoard.accessor.impl.AccessorParams; +import org.simantics.databoard.accessor.impl.ListenerEntry; +import org.simantics.databoard.accessor.interestset.BooleanInterestSet; +import org.simantics.databoard.accessor.reference.ChildReference; +import org.simantics.databoard.binding.Binding; +import org.simantics.databoard.binding.BooleanBinding; +import org.simantics.databoard.binding.error.BindingException; +import org.simantics.databoard.type.BooleanType; +import org.simantics.databoard.util.binary.Blob; public class BinaryBoolean extends BinaryObject implements BooleanAccessor, FileBooleanAccessor { @@ -50,8 +50,8 @@ public class BinaryBoolean extends BinaryObject implements BooleanAccessor, File } @Override - public boolean getValue() throws AccessorException { - assert b.isOpen(); + public boolean getValue() throws AccessorException { + assert b.isOpen(); readLock(); try { b.position(0L); @@ -61,21 +61,21 @@ public class BinaryBoolean extends BinaryObject implements BooleanAccessor, File throw new AccessorException("Unexpected value "+v+", expected 0 or 1 for Boolean"); } catch (IOException e) { throw new AccessorException(e); - } finally { - readUnlock(); + } finally { + readUnlock(); } } @Override Event applyLocal(Event e, boolean makeRollback) throws AccessorException { - Event rollback = makeRollback ? new ValueAssigned( Bindings.BOOLEAN, getValue() ) : null; - if (e instanceof ValueAssigned) { - ValueAssigned va = (ValueAssigned) e; - if (va.newValue == null) throw new AccessorException("Boolean value expected, got null"); - setValueNoflush(va.newValue.getBinding(), va.newValue.getValue()); - return rollback; - } else { - throw new AccessorException("Cannot apply "+e.getClass().getName()+" to Boolean"); + Event rollback = makeRollback ? new ValueAssigned( Bindings.BOOLEAN, getValue() ) : null; + if (e instanceof ValueAssigned) { + ValueAssigned va = (ValueAssigned) e; + if (va.newValue == null) throw new AccessorException("Boolean value expected, got null"); + setValueNoflush(va.newValue.getBinding(), va.newValue.getValue()); + return rollback; + } else { + throw new AccessorException("Cannot apply "+e.getClass().getName()+" to Boolean"); } } @@ -89,8 +89,8 @@ public class BinaryBoolean extends BinaryObject implements BooleanAccessor, File @Override - public Object getValue(Binding binding) throws AccessorException { - assert b.isOpen(); + public Object getValue(Binding binding) throws AccessorException { + assert b.isOpen(); readLock(); try { BooleanBinding bb = (BooleanBinding) binding; @@ -98,13 +98,13 @@ public class BinaryBoolean extends BinaryObject implements BooleanAccessor, File return bb.create(v); } catch(BindingException e) { throw new AccessorException(e); - } finally { - readUnlock(); + } finally { + readUnlock(); } } - public void setValueNoflush(boolean newValue) throws AccessorException { - assert b.isOpen(); + public void setValueNoflush(boolean newValue) throws AccessorException { + assert b.isOpen(); writeLock(); try { // Set value @@ -124,37 +124,37 @@ public class BinaryBoolean extends BinaryObject implements BooleanAccessor, File } catch (IOException e) { throw new AccessorException(e); - } finally { - writeUnlock(); + } finally { + writeUnlock(); } } @Override - public void setValue(boolean newValue) throws AccessorException { - assert b.isOpen(); + public void setValue(boolean newValue) throws AccessorException { + assert b.isOpen(); writeLock(); try { setValueNoflush(newValue); b.flush(); } catch (IOException e) { throw new AccessorException(e); - } finally { - writeUnlock(); + } finally { + writeUnlock(); } } @Override public void setValueNoflush(Binding binding, Object newValue) - throws AccessorException { - assert b.isOpen(); + throws AccessorException { + assert b.isOpen(); writeLock(); try { boolean nv = ((BooleanBinding)binding).getValue_(newValue); setValueNoflush(nv); } catch (BindingException e) { throw new AccessorException(e); - } finally { - writeUnlock(); + } finally { + writeUnlock(); } }