1 7 package org.jdesktop.dataset; 8 9 import java.util.concurrent.Executor ; 10 import java.util.concurrent.Executors ; 11 import org.jdesktop.dataset.provider.LoadTask; 12 import org.jdesktop.dataset.provider.SaveTask; 13 import org.jdesktop.dataset.provider.Task; 14 15 21 public abstract class DataProvider { 22 25 private static final Executor EX = Executors.newCachedThreadPool(); 26 27 public void load(DataTable[] tables) { 28 Task task = createLoadTask(tables); 29 runTask(task); 30 } 31 32 public void load(DataTable t) { 33 load(new DataTable[]{t}); 34 } 35 36 public void save(DataTable t) { 37 save(new DataTable[]{t}); 38 } 39 40 public void save(DataTable[] tables) { 41 Task task = createSaveTask(tables); 42 runTask(task); 43 } 44 45 50 protected abstract SaveTask createSaveTask(DataTable[] tables); 51 52 57 protected abstract LoadTask createLoadTask(DataTable[] tables); 58 59 67 protected void runTask(Task runner) { 68 EX.execute(runner); 70 } 71 } | Popular Tags |