/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ package com.github.geophile.erdo.consolidate; import java.util.List; import static com.github.geophile.erdo.consolidate.Consolidation.Element; class IdleConsolidationPlanner extends ConsolidationPlanner { // ConsolidationPlanner interface @Override public boolean planConsolidation(Element newElement) { assert newElement == null; return consolidationSet.idle() && fractalConsolidationPlanner.planConsolidation(null); } @Override public List<Element> elementsToConsolidate() { return fractalConsolidationPlanner.elementsToConsolidate(); } @Override public String type() { return "idle"; } // IdleConsolidationPlanner interface public static IdleConsolidationPlanner newPlanner(ConsolidationSet consolidationSet, int minConsolidationMaps, int minConsolidationSize) { return new IdleConsolidationPlanner(consolidationSet, minConsolidationMaps, minConsolidationSize); } // For use by this class private IdleConsolidationPlanner(ConsolidationSet consolidationSet, int minConsolidationMaps, int minConsolidationSize) { super(consolidationSet, true, true); this.fractalConsolidationPlanner = FractalConsolidationPlanner.durable(consolidationSet, minConsolidationMaps, minConsolidationSize); } // Object state private final FractalConsolidationPlanner fractalConsolidationPlanner; }