Skip to content

Commit

Permalink
implementing factory-methods for empty and key-value pair on SimpleOr…
Browse files Browse the repository at this point in the history
…deredMap
  • Loading branch information
renatoh committed Jan 10, 2025
1 parent e1ab4a7 commit 206c0ac
Showing 1 changed file with 7 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -72,39 +72,20 @@ public SimpleOrderedMap<T> clone() {

/**
* Returns a shared, empty, and immutable instance of SimpleOrderedMap.
* @return empty SimpleOrderedMap (immutable)
* @return Empty SimpleOrderedMap (immutable)
*/
public static SimpleOrderedMap<Object> of() {
return EMPTY;
}

/**
* Returns an immutable instance of SimpleOrderedMap with a single element.
* @return List containing the elements
* Returns an immutable instance of SimpleOrderedMap with a single key-value pair.
* @return SimpleOrderedMap containing one key-value pair
*/
public static SimpleOrderedMap<Object> of(Object o1) {
return new SimpleOrderedMap<>(List.of(o1));
}

/**
* Returns an immutable instance of SimpleOrderedMap with two elements.
* @return List containing the elements
*/
public static SimpleOrderedMap<Object> of(Object o1, Object o2) {
return new SimpleOrderedMap<>(List.of(o1,o2));
}

/**
* Returns an immutable instance of SimpleOrderedMap with an arbitrary number of elements.
* @return List containing the elements
*/
public static SimpleOrderedMap<Object> of(Object... elements) {
return switch (elements.length) {
case 0 -> of();
case 1 -> of(elements[0]);
case 2 -> of(elements[0], elements[1]);
default -> new SimpleOrderedMap<>(List.of(elements));
};

public static <T> SimpleOrderedMap<T> of(String name, T val)
{
return new SimpleOrderedMap<>(List.of(name, val));
}

}

0 comments on commit 206c0ac

Please sign in to comment.