1 /* 2 * ObjectLab, http://www.objectlab.co.uk/open is supporting JTreeMap. 3 * 4 * Based in London, we are world leaders in the design and development 5 * of bespoke applications for the securities financing markets. 6 * 7 * <a href="http://www.objectlab.co.uk/open">Click here to learn more</a> 8 * ___ _ _ _ _ _ 9 * / _ \| |__ (_) ___ ___| |_| | __ _| |__ 10 * | | | | '_ \| |/ _ \/ __| __| | / _` | '_ \ 11 * | |_| | |_) | | __/ (__| |_| |__| (_| | |_) | 12 * \___/|_.__// |\___|\___|\__|_____\__,_|_.__/ 13 * |__/ 14 * 15 * www.ObjectLab.co.uk 16 * 17 * $Id: SplitBySortedWeight.java 74 2006-10-24 22:19:05Z benoitx $ 18 * 19 * Copyright 2006 the original author or authors. 20 * 21 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 22 * use this file except in compliance with the License. You may obtain a copy of 23 * the License at 24 * 25 * http://www.apache.org/licenses/LICENSE-2.0 26 * 27 * Unless required by applicable law or agreed to in writing, software 28 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 29 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 30 * License for the specific language governing permissions and limitations under 31 * the License. 32 */ 33 package net.sf.jtreemap.swing; 34 35 import java.util.Vector; 36 37 /** 38 * Strategy who split the elements in 2 groups of equivalent weight. 39 * <p> 40 * The elements are first sorted by descending weight. Then they are splitted in 41 * 2 groups of equivalent weight. 42 * <p> 43 * The heaviest elements are on the top left of the JTreeMap. The lightest 44 * elements are on the bottom right of the JTreeMap 45 * 46 * @author Laurent Dutheil 47 */ 48 49 public class SplitBySortedWeight extends SplitStrategy { 50 51 /** 52 * 53 */ 54 private static final long serialVersionUID = 1600419780258843122L; 55 56 @Override 57 public void splitElements(final Vector<TreeMapNode> v, final Vector<TreeMapNode> v1, final Vector<TreeMapNode> v2) { 58 final Vector<TreeMapNode> vClone = new Vector<TreeMapNode>(v); 59 final double sumWeight = sumWeight(v); 60 61 sortVector(vClone); 62 63 workOutWeight(v1, v2, vClone, sumWeight); 64 } 65 } 66 /* 67 * ObjectLab is supporing JTreeMap 68 * 69 * Based in London, we are world leaders in the design and development 70 * of bespoke applications for the securities financing markets. 71 * 72 * <a href="http://www.objectlab.co.uk/open">Click here to learn more about us</a> 73 * ___ _ _ _ _ _ 74 * / _ \| |__ (_) ___ ___| |_| | __ _| |__ 75 * | | | | '_ \| |/ _ \/ __| __| | / _` | '_ \ 76 * | |_| | |_) | | __/ (__| |_| |__| (_| | |_) | 77 * \___/|_.__// |\___|\___|\__|_____\__,_|_.__/ 78 * |__/ 79 * 80 * www.ObjectLab.co.uk 81 */