Skip to content

Commit

Permalink
Fixed symmetry issues with factory methods in Multimaps factory. #826
Browse files Browse the repository at this point in the history
Signed-off-by: Alxander Goldberg <alexander.goldberg@bnymellon.com>
  • Loading branch information
goldbal330 committed Apr 6, 2020
1 parent 6ceaabd commit d1577c4
Show file tree
Hide file tree
Showing 2 changed files with 274 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -306,28 +306,57 @@ private ImmutableSortedBagMultimapFactory()
{
}

public <K, V> ImmutableSortedBagMultimap<K, V> of()
{
return this.of(null);
}

public <K, V> ImmutableSortedBagMultimap<K, V> of(Comparator<? super V> comparator)
{
return new ImmutableSortedBagMultimapImpl<>(Maps.immutable.empty(), comparator);
}

public <K, V> ImmutableSortedBagMultimap<K, V> with()
{
return this.of();
}

public <K, V> ImmutableSortedBagMultimap<K, V> with(Comparator<? super V> comparator)
{
return this.of(comparator);
}

public <K, V> ImmutableSortedBagMultimap<K, V> of(K key, V value)
{
return this.with(key, value);
}

public <K, V> ImmutableSortedBagMultimap<K, V> of(Comparator<? super V> comparator, K key, V value)
{
return this.with(comparator, key, value);
}

public <K, V> ImmutableSortedBagMultimap<K, V> with(K key, V value)
{
return this.with(null, key, value);
}

public <K, V> ImmutableSortedBagMultimap<K, V> with(Comparator<? super V> comparator, K key, V value)
{
TreeBagMultimap<K, V> treeBagMultimap = new TreeBagMultimap<>(comparator);
treeBagMultimap.put(key, value);
return treeBagMultimap.toImmutable();
}

public <K, V> ImmutableSortedBagMultimap<K, V> of(
K key1,
V value1,
K key2,
V value2)
{
return this.with(key1, value1, key2, value2);
}

public <K, V> ImmutableSortedBagMultimap<K, V> of(
Comparator<? super V> comparator,
K key1,
Expand All @@ -338,6 +367,15 @@ public <K, V> ImmutableSortedBagMultimap<K, V> of(
return this.with(comparator, key1, value1, key2, value2);
}

public <K, V> ImmutableSortedBagMultimap<K, V> with(
K key1,
V value1,
K key2,
V value2)
{
return this.with(null, key1, value1, key2, value2);
}

public <K, V> ImmutableSortedBagMultimap<K, V> with(
Comparator<? super V> comparator,
K key1,
Expand All @@ -351,6 +389,17 @@ public <K, V> ImmutableSortedBagMultimap<K, V> with(
return treeBagMultimap.toImmutable();
}

public <K, V> ImmutableSortedBagMultimap<K, V> of(
K key1,
V value1,
K key2,
V value2,
K key3,
V value3)
{
return this.with(key1, value1, key2, value2, key3, value3);
}

public <K, V> ImmutableSortedBagMultimap<K, V> of(
Comparator<? super V> comparator,
K key1,
Expand All @@ -363,6 +412,17 @@ public <K, V> ImmutableSortedBagMultimap<K, V> of(
return this.with(comparator, key1, value1, key2, value2, key3, value3);
}

public <K, V> ImmutableSortedBagMultimap<K, V> with(
K key1,
V value1,
K key2,
V value2,
K key3,
V value3)
{
return this.with(null, key1, value1, key2, value2, key3, value3);
}

public <K, V> ImmutableSortedBagMultimap<K, V> with(
Comparator<? super V> comparator,
K key1,
Expand Down Expand Up @@ -664,29 +724,94 @@ public <K, V> MutableSortedBagMultimap<K, V> empty()
return TreeBagMultimap.newMultimap();
}

public <K, V> MutableSortedBagMultimap<K, V> empty(Comparator<? super V> comparator)
{
return TreeBagMultimap.newMultimap(comparator);
}

public <K, V> MutableSortedBagMultimap<K, V> of()
{
return this.empty();
}

public <K, V> MutableSortedBagMultimap<K, V> of(Comparator<? super V> comparator)
{
return this.empty(comparator);
}

public <K, V> MutableSortedBagMultimap<K, V> with()
{
return this.empty();
}

public <K, V> MutableSortedBagMultimap<K, V> with(Comparator<? super V> comparator)
{
return this.empty(comparator);
}

public <K, V> MutableSortedBagMultimap<K, V> of(K key, V value)
{
return this.with(key, value);
}

public <K, V> MutableSortedBagMultimap<K, V> of(Comparator<? super V> comparator, K key, V value)
{
return this.with(comparator, key, value);
}

public <K, V> MutableSortedBagMultimap<K, V> with(K key, V value)
{
TreeBagMultimap<K, V> treeBagMultimap = TreeBagMultimap.newMultimap();
return this.with(null, key, value);
}

public <K, V> MutableSortedBagMultimap<K, V> with(Comparator<? super V> comparator, K key, V value)
{
TreeBagMultimap<K, V> treeBagMultimap = TreeBagMultimap.newMultimap(comparator);
treeBagMultimap.put(key, value);
return treeBagMultimap;
}

public <K, V> MutableSortedBagMultimap<K, V> of(K key1, V value1, K key2, V value2)
{
return this.with(key1, value1, key2, value2);
}

public <K, V> MutableSortedBagMultimap<K, V> of(Comparator<? super V> comparator, K key1, V value1, K key2, V value2)
{
return this.with(comparator, key1, value1, key2, value2);
}

public <K, V> MutableSortedBagMultimap<K, V> with(K key1, V value1, K key2, V value2)
{
TreeBagMultimap<K, V> treeBagMultimap = TreeBagMultimap.newMultimap();
return this.with(null, key1, value1, key2, value2);
}

public <K, V> MutableSortedBagMultimap<K, V> with(Comparator<? super V> comparator, K key1, V value1, K key2, V value2)
{
TreeBagMultimap<K, V> treeBagMultimap = TreeBagMultimap.newMultimap(comparator);
treeBagMultimap.put(key1, value1);
treeBagMultimap.put(key2, value2);
return treeBagMultimap;
}

public <K, V> MutableSortedBagMultimap<K, V> of(K key1, V value1, K key2, V value2, K key3, V value3)
{
return this.with(key1, value1, key2, value2, key3, value3);
}

public <K, V> MutableSortedBagMultimap<K, V> of(Comparator<? super V> comparator, K key1, V value1, K key2, V value2, K key3, V value3)
{
return this.with(comparator, key1, value1, key2, value2, key3, value3);
}

public <K, V> MutableSortedBagMultimap<K, V> with(K key1, V value1, K key2, V value2, K key3, V value3)
{
TreeBagMultimap<K, V> treeBagMultimap = TreeBagMultimap.newMultimap();
return this.with(null, key1, value1, key2, value2, key3, value3);
}

public <K, V> MutableSortedBagMultimap<K, V> with(Comparator<? super V> comparator, K key1, V value1, K key2, V value2, K key3, V value3)
{
TreeBagMultimap<K, V> treeBagMultimap = TreeBagMultimap.newMultimap(comparator);
treeBagMultimap.put(key1, value1);
treeBagMultimap.put(key2, value2);
treeBagMultimap.put(key3, value3);
Expand Down

0 comments on commit d1577c4

Please sign in to comment.