From 060255e9c77e8d6a43e8f912cb2f0fbfc2efb119 Mon Sep 17 00:00:00 2001 From: thatsIch Date: Sun, 5 Oct 2014 15:38:56 +0200 Subject: [PATCH] Reduce visibility of fields Implement against interfaces Enforce immutability instead resetting it hard via new instantiation. --- .../appeng/me/cache/CraftingGridCache.java | 40 ++++++------------- .../java/appeng/me/cache/NetworkMonitor.java | 3 +- .../implementations/CraftingCPUCluster.java | 2 +- .../me/helpers/GenericInterestManager.java | 8 ++-- 4 files changed, 21 insertions(+), 32 deletions(-) diff --git a/src/main/java/appeng/me/cache/CraftingGridCache.java b/src/main/java/appeng/me/cache/CraftingGridCache.java index f9d16f8f..a3f94cc2 100644 --- a/src/main/java/appeng/me/cache/CraftingGridCache.java +++ b/src/main/java/appeng/me/cache/CraftingGridCache.java @@ -1,21 +1,13 @@ package appeng.me.cache; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; +import java.util.*; import java.util.Map.Entry; -import java.util.Set; -import java.util.TreeSet; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.ThreadFactory; +import com.google.common.collect.*; import net.minecraft.world.World; import appeng.api.config.AccessRestriction; import appeng.api.config.Actionable; @@ -58,31 +50,25 @@ import appeng.tile.crafting.TileCraftingStorageTile; import appeng.tile.crafting.TileCraftingTile; import appeng.util.ItemSorters; -import com.google.common.collect.HashMultimap; -import com.google.common.collect.ImmutableCollection; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.SetMultimap; - public class CraftingGridCache implements ICraftingGrid, ICraftingProviderHelper, ICellProvider, IMEInventoryHandler { - final HashSet cpuClusters = new HashSet(); - final HashSet providers = new HashSet(); + private final Set cpuClusters = new HashSet(); + private final Set providers = new HashSet(); - private final HashMap watchers = new HashMap(); + private final Map watchers = new HashMap(); - final IGrid grid; + private final IGrid grid; IStorageGrid sg; IEnergyGrid eg; - final HashMap> craftingMethods = new HashMap>(); - HashMap> craftableItems = new HashMap>(); - final HashSet emitableItems = new HashSet(); - final HashMap links = new HashMap(); + private final Map> craftingMethods = new HashMap>(); + private final Map> craftableItems = new HashMap>(); + private final Set emitableItems = new HashSet(); + private final Map links = new HashMap(); boolean updateList = false; - final private SetMultimap interests = HashMultimap.create(); + private final Multimap interests = HashMultimap.create(); final public GenericInterestManager interestManager = new GenericInterestManager( interests ); static class ActiveCpuIterator implements Iterator @@ -296,11 +282,11 @@ public class CraftingGridCache implements ICraftingGrid, ICraftingProviderHelper private void updatePatterns() { - HashMap> oldItems = craftableItems; + Map> oldItems = craftableItems; // erase list. craftingMethods.clear(); - craftableItems = new HashMap>(); + craftableItems.clear(); emitableItems.clear(); // update the stuff that was in the list... diff --git a/src/main/java/appeng/me/cache/NetworkMonitor.java b/src/main/java/appeng/me/cache/NetworkMonitor.java index 8e2c5bb7..d7b294af 100644 --- a/src/main/java/appeng/me/cache/NetworkMonitor.java +++ b/src/main/java/appeng/me/cache/NetworkMonitor.java @@ -1,5 +1,6 @@ package appeng.me.cache; +import java.util.Collection; import java.util.Iterator; import java.util.LinkedList; import java.util.Map.Entry; @@ -75,7 +76,7 @@ public class NetworkMonitor> extends MEMonitorHandler if ( myGridCache.interestManager.containsKey( changedItem ) ) { - Set list = myGridCache.interestManager.get( changedItem ); + Collection list = myGridCache.interestManager.get( changedItem ); if ( !list.isEmpty() ) { IAEStack fullStack = myStorageList.findPrecise( changedItem ); diff --git a/src/main/java/appeng/me/cluster/implementations/CraftingCPUCluster.java b/src/main/java/appeng/me/cluster/implementations/CraftingCPUCluster.java index 8ac7a60f..0b5dd529 100644 --- a/src/main/java/appeng/me/cluster/implementations/CraftingCPUCluster.java +++ b/src/main/java/appeng/me/cluster/implementations/CraftingCPUCluster.java @@ -285,7 +285,7 @@ public class CraftingCPUCluster implements IAECluster, ICraftingCPU if ( sg.interestManager.containsKey( diff ) ) { - Set list = sg.interestManager.get( diff ); + Collection list = sg.interestManager.get( diff ); if ( !list.isEmpty() ) { diff --git a/src/main/java/appeng/me/helpers/GenericInterestManager.java b/src/main/java/appeng/me/helpers/GenericInterestManager.java index 37dd217c..ff0483d8 100644 --- a/src/main/java/appeng/me/helpers/GenericInterestManager.java +++ b/src/main/java/appeng/me/helpers/GenericInterestManager.java @@ -1,10 +1,12 @@ package appeng.me.helpers; +import java.util.Collection; import java.util.LinkedList; import java.util.Set; import appeng.api.storage.data.IAEStack; +import com.google.common.collect.Multimap; import com.google.common.collect.SetMultimap; public class GenericInterestManager @@ -24,11 +26,11 @@ public class GenericInterestManager } } - private final SetMultimap container; + private final Multimap container; private LinkedList transactions = null; private int transDepth = 0; - public GenericInterestManager(SetMultimap interests) { + public GenericInterestManager(Multimap interests) { container = interests; } @@ -64,7 +66,7 @@ public class GenericInterestManager return container.containsKey( stack ); } - public Set get(IAEStack stack) + public Collection get(IAEStack stack) { return container.get( stack ); }