Skip to content

Commit

Permalink
Minor cleanup of previous commit
Browse files Browse the repository at this point in the history
  • Loading branch information
mezz committed Aug 11, 2016
1 parent 32a0163 commit 8aa5183
Showing 1 changed file with 22 additions and 17 deletions.
39 changes: 22 additions & 17 deletions src/main/java/mezz/jei/util/StackHelper.java
Expand Up @@ -146,23 +146,24 @@ public <R> boolean containsSameStacks(@Nonnull Iterable<ItemStackMatchable<R>> s
}

public Integer containsAnyStackIndexed(@Nullable Map<Integer, ItemStack> stacks, @Nullable Iterable<ItemStack> contains) {
return containsStackMatchable(stacks == null ? null : new MatchingIndexed(stacks), contains == null ? null : (Iterable<ItemStackMatchable<?>>) (Iterable<?>) new MatchingIterable(contains));
MatchingIndexed matchingStacks = new MatchingIndexed(stacks);
MatchingIterable matchingContains = new MatchingIterable(contains);
return containsStackMatchable(matchingStacks, matchingContains);
}

public ItemStack containsStack(@Nullable Iterable<ItemStack> stacks, @Nullable ItemStack contains) {
return containsAnyStack(stacks == null ? null : stacks, contains == null ? null : Collections.singletonList(contains));
List<ItemStack> containsList = contains == null ? null : Collections.singletonList(contains);
return containsAnyStack(stacks, containsList);
}

public ItemStack containsAnyStack(@Nullable Iterable<ItemStack> stacks, @Nullable Iterable<ItemStack> contains) {
return containsStackMatchable(stacks == null ? null : new MatchingIterable(stacks), contains == null ? null : (Iterable<ItemStackMatchable<?>>) (Iterable<?>) new MatchingIterable(contains));
MatchingIterable matchingStacks = new MatchingIterable(stacks);
MatchingIterable matchingContains = new MatchingIterable(contains);
return containsStackMatchable(matchingStacks, matchingContains);
}

/* Returns an ItemStack from "stacks" if it isEquivalent to an ItemStack from "contains" */
public <R> R containsStackMatchable(@Nullable Iterable<ItemStackMatchable<R>> stacks, @Nullable Iterable<ItemStackMatchable<?>> contains) {
if (stacks == null || contains == null) {
return null;
}

public <R, T> R containsStackMatchable(@Nonnull Iterable<ItemStackMatchable<R>> stacks, @Nonnull Iterable<ItemStackMatchable<T>> contains) {
for (ItemStackMatchable<?> containStack : contains) {
R matchingStack = containsStack(stacks, containStack);
if (matchingStack != null) {
Expand All @@ -174,11 +175,7 @@ public <R> R containsStackMatchable(@Nullable Iterable<ItemStackMatchable<R>> st
}

/* Returns an ItemStack from "stacks" if it isEquivalent to "contains" */
public <R> R containsStack(@Nullable Iterable<ItemStackMatchable<R>> stacks, @Nullable ItemStackMatchable<?> contains) {
if (stacks == null || contains == null) {
return null;
}

public <R> R containsStack(@Nonnull Iterable<ItemStackMatchable<R>> stacks, @Nonnull ItemStackMatchable<?> contains) {
for (ItemStackMatchable<R> stack : stacks) {
if (isEquivalent(contains.getStack(), stack.getStack())) {
return stack.getResult();
Expand Down Expand Up @@ -527,8 +524,12 @@ private static class MatchingIterable implements Iterable<ItemStackMatchable<Ite
@Nonnull
private final Iterable<ItemStack> list;

public MatchingIterable(@Nonnull Iterable<ItemStack> list) {
this.list = list;
public MatchingIterable(@Nullable Iterable<ItemStack> list) {
if (list == null) {
this.list = Collections.emptyList();
} else {
this.list = list;
}
}

@Nonnull
Expand Down Expand Up @@ -561,8 +562,12 @@ private static class MatchingIndexed implements Iterable<ItemStackMatchable<Inte
@Nonnull
private final Map<Integer, ItemStack> map;

public MatchingIndexed(@Nonnull Map<Integer, ItemStack> map) {
this.map = map;
public MatchingIndexed(@Nullable Map<Integer, ItemStack> map) {
if (map == null) {
this.map = Collections.emptyMap();
} else {
this.map = map;
}
}

@Nonnull
Expand Down

0 comments on commit 8aa5183

Please sign in to comment.