X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.databoard%2Fsrc%2Forg%2Fsimantics%2Fdataboard%2Fbinding%2Fimpl%2FTreeMapBinding.java;h=50a7ca5008e91576d672f31e49a018d3e50ba185;hb=1dfc44ff89362fb4500ee9427432541b92d1953f;hp=54ae417e38bd1455ba1d838079806797fd013484;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/impl/TreeMapBinding.java b/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/impl/TreeMapBinding.java index 54ae417e3..50a7ca500 100644 --- a/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/impl/TreeMapBinding.java +++ b/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/impl/TreeMapBinding.java @@ -1,38 +1,38 @@ -/******************************************************************************* - * 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.binding.impl; -import java.util.IdentityHashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.TreeMap; - -import org.simantics.databoard.Bindings; -import org.simantics.databoard.adapter.AdaptException; -import org.simantics.databoard.adapter.Adapter; -import org.simantics.databoard.adapter.AdapterConstructionException; -import org.simantics.databoard.binding.ArrayBinding; -import org.simantics.databoard.binding.Binding; -import org.simantics.databoard.binding.MapBinding; -import org.simantics.databoard.binding.error.BindingException; -import org.simantics.databoard.type.MapType; +import java.util.IdentityHashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.TreeMap; + +import org.simantics.databoard.Bindings; +import org.simantics.databoard.adapter.AdaptException; +import org.simantics.databoard.adapter.Adapter; +import org.simantics.databoard.adapter.AdapterConstructionException; +import org.simantics.databoard.binding.ArrayBinding; +import org.simantics.databoard.binding.Binding; +import org.simantics.databoard.binding.MapBinding; +import org.simantics.databoard.binding.error.BindingException; +import org.simantics.databoard.type.MapType; /** * Binds java.util.TreeMap to MapType * * @author Toni Kalajainen - */ + */ @SuppressWarnings("all") public class TreeMapBinding extends MapBinding { @@ -94,7 +94,7 @@ public class TreeMapBinding extends MapBinding { TreeMap result = new TreeMap( getKeyBinding() ); result.putAll(initialMap); return result; - } + } @SuppressWarnings("unchecked") @Override @@ -139,69 +139,69 @@ public class TreeMapBinding extends MapBinding { public void getKeys(Object map, Set keys) throws BindingException { Map m = ((Map)map); keys.addAll(m.keySet()); - } - - /** - * Count the number of entries between two keyes - * @param from - * @param fromInclusive - * @param end - * @param endInclusive - * @throws BindingException - */ - @SuppressWarnings("unchecked") - @Override - public int count(Object src, Object from, boolean fromInclusive, Object end, boolean endInclusive) throws BindingException { - // Assert end > from - if (keyBinding.compare(from, end)>0) return 0; - - TreeMap m = (TreeMap) src; - Map sm = m.subMap(from, fromInclusive, end, endInclusive); - return sm.size(); - } - - /** - * Read a range of entries - * - * @param src - * @param from - * @param fromInclusive - * @param end - * @param endInclusive - * @param dstKeyArrayBinding - * @param dstKeyArray - * @param dstValueArrayBinding - * @param dstValueArray - * @throws BindingException - */ - public int getEntries(Object src, Object from, boolean fromInclusive, Object end, boolean endInclusive, ArrayBinding dstKeyArrayBinding, Object dstKeyArray, ArrayBinding dstValueArrayBinding, Object dstValueArray, int limit) throws BindingException { - try { - // Assert end > from - if (keyBinding.compare(from, end)>0) return 0; - - TreeMap m = (TreeMap) src; - Map sm = m.subMap(from, fromInclusive, end, endInclusive); - int dkc = dstKeyArrayBinding.size( dstKeyArray ); - int dvc = dstValueArrayBinding.size( dstValueArray ); - Adapter ka = Bindings.getTypeAdapter(keyBinding, dstKeyArrayBinding.getComponentBinding()); - Adapter va = Bindings.getTypeAdapter(valueBinding, dstValueArrayBinding.getComponentBinding()); - int i = 0; - Set> es = sm.entrySet(); - for (Entry e : es) { - if (limit>=0 && i>=limit) break; - Object dk = ka.adapt( e.getKey() ); - Object dv = va.adapt( e.getValue() ); - if (i from + if (keyBinding.compare(from, end)>0) return 0; + + TreeMap m = (TreeMap) src; + Map sm = m.subMap(from, fromInclusive, end, endInclusive); + return sm.size(); + } + + /** + * Read a range of entries + * + * @param src + * @param from + * @param fromInclusive + * @param end + * @param endInclusive + * @param dstKeyArrayBinding + * @param dstKeyArray + * @param dstValueArrayBinding + * @param dstValueArray + * @throws BindingException + */ + public int getEntries(Object src, Object from, boolean fromInclusive, Object end, boolean endInclusive, ArrayBinding dstKeyArrayBinding, Object dstKeyArray, ArrayBinding dstValueArrayBinding, Object dstValueArray, int limit) throws BindingException { + try { + // Assert end > from + if (keyBinding.compare(from, end)>0) return 0; + + TreeMap m = (TreeMap) src; + Map sm = m.subMap(from, fromInclusive, end, endInclusive); + int dkc = dstKeyArrayBinding.size( dstKeyArray ); + int dvc = dstValueArrayBinding.size( dstValueArray ); + Adapter ka = Bindings.getTypeAdapter(keyBinding, dstKeyArrayBinding.getComponentBinding()); + Adapter va = Bindings.getTypeAdapter(valueBinding, dstValueArrayBinding.getComponentBinding()); + int i = 0; + Set> es = sm.entrySet(); + for (Entry e : es) { + if (limit>=0 && i>=limit) break; + Object dk = ka.adapt( e.getKey() ); + Object dv = va.adapt( e.getValue() ); + if (i