Skip to content

Commit

Permalink
Improved collection factory utils in U.
Browse files Browse the repository at this point in the history
  • Loading branch information
nmihajlovski committed Jul 20, 2015
1 parent ae717b0 commit 7f57f9a
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 21 deletions.
49 changes: 31 additions & 18 deletions rapidoid-u/src/main/java/org/rapidoid/util/U.java
Expand Up @@ -34,6 +34,7 @@
import java.util.Queue;
import java.util.Set;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.ConcurrentMap;
Expand Down Expand Up @@ -230,8 +231,12 @@ public static Object[] array(Iterable<?> items) {
return (items instanceof Collection) ? ((Collection<?>) items).toArray() : list(items).toArray();
}

public static <T> Set<T> set() {
return new LinkedHashSet<T>();
}

public static <T> Set<T> set(Iterable<? extends T> values) {
Set<T> set = new LinkedHashSet<T>();
Set<T> set = set();

for (T val : values) {
set.add(val);
Expand All @@ -241,7 +246,7 @@ public static <T> Set<T> set(Iterable<? extends T> values) {
}

public static <T> Set<T> set(T... values) {
Set<T> set = new LinkedHashSet<T>();
Set<T> set = set();

for (T val : values) {
set.add(val);
Expand All @@ -250,8 +255,12 @@ public static <T> Set<T> set(T... values) {
return set;
}

public static <T> List<T> list() {
return new ArrayList<T>();
}

public static <T> List<T> list(Iterable<? extends T> values) {
List<T> list = new ArrayList<T>();
List<T> list = list();

for (T item : values) {
list.add(item);
Expand All @@ -261,7 +270,7 @@ public static <T> List<T> list(Iterable<? extends T> values) {
}

public static <T> List<T> list(T... values) {
List<T> list = new ArrayList<T>();
List<T> list = list();

for (T item : values) {
list.add(item);
Expand All @@ -270,16 +279,16 @@ public static <T> List<T> list(T... values) {
return list;
}

public static <K, V> Map<K, V> map() {
return new HashMap<K, V>();
}

public static <K, V> Map<K, V> map(Map<? extends K, ? extends V> src) {
Map<K, V> map = map();
map.putAll(src);
return map;
}

public static <K, V> Map<K, V> map() {
return new HashMap<K, V>();
}

public static <K, V> Map<K, V> map(K key, V value) {
Map<K, V> map = map();
map.put(key, value);
Expand Down Expand Up @@ -324,6 +333,10 @@ public static <K, V> Map<K, V> map(Object... keysAndValues) {
return map;
}

public static <K, V> ConcurrentMap<K, V> concurrentMap() {
return new ConcurrentHashMap<K, V>();
}

public static <K, V> ConcurrentMap<K, V> concurrentMap(Map<? extends K, ? extends V> src, boolean ignoreNullValues) {
ConcurrentMap<K, V> map = concurrentMap();

Expand All @@ -336,10 +349,6 @@ public static <K, V> ConcurrentMap<K, V> concurrentMap(Map<? extends K, ? extend
return map;
}

public static <K, V> ConcurrentMap<K, V> concurrentMap() {
return new ConcurrentHashMap<K, V>();
}

public static <K, V> ConcurrentMap<K, V> concurrentMap(K key, V value) {
ConcurrentMap<K, V> map = concurrentMap();
map.put(key, value);
Expand Down Expand Up @@ -385,6 +394,10 @@ public static <K, V> ConcurrentMap<K, V> concurrentMap(Object... keysAndValues)
return map;
}

public static <K, V> Map<K, V> orderedMap() {
return new LinkedHashMap<K, V>();
}

public static <K, V> Map<K, V> orderedMap(Map<? extends K, ? extends V> src, boolean ignoreNullValues) {
Map<K, V> map = orderedMap();

Expand All @@ -397,10 +410,6 @@ public static <K, V> Map<K, V> orderedMap(Map<? extends K, ? extends V> src, boo
return map;
}

public static <K, V> Map<K, V> orderedMap() {
return new LinkedHashMap<K, V>();
}

public static <K, V> Map<K, V> orderedMap(K key, V value) {
Map<K, V> map = orderedMap();
map.put(key, value);
Expand Down Expand Up @@ -449,8 +458,12 @@ public static <K, V> Map<K, V> synchronizedMap() {
return Collections.synchronizedMap(U.<K, V> map());
}

public static <T> Queue<T> queue(int maxSize) {
return maxSize > 0 ? new ArrayBlockingQueue<T>(maxSize) : new ConcurrentLinkedQueue<T>();
public static <T> Queue<T> queue() {
return new ConcurrentLinkedQueue<T>();
}

public static <T> BlockingQueue<T> queue(int maxSize) {
return new ArrayBlockingQueue<T>(maxSize);
}

public static <T> T or(T value, T fallback) {
Expand Down
Expand Up @@ -35,7 +35,6 @@ public class ResultCounterCallback<T> implements Callback<T> {

// FIXME refactor the built-in callbacks using decorators

@SuppressWarnings("unchecked")
private final Set<T> results = Collections.synchronizedSet(U.<T> set());

private final AtomicLong resultsN = new AtomicLong();
Expand Down
1 change: 0 additions & 1 deletion rapidoid-utils/src/main/java/org/rapidoid/util/UTILS.java
Expand Up @@ -615,7 +615,6 @@ public static String camelPhrase(String s) {
return U.capitalized(camelSplit(s).toLowerCase());
}

@SuppressWarnings("unchecked")
public static <T, V extends T> List<T> withoutNulls(V... values) {
List<T> list = U.list();

Expand Down
1 change: 0 additions & 1 deletion rapidoid-wire/src/main/java/org/rapidoid/wire/Wire.java
Expand Up @@ -408,7 +408,6 @@ private static boolean isIocProcessed(Object target) {
return false;
}

@SuppressWarnings("unchecked")
private static <T> T proxyWrap(T instance) {
Set<F3<Object, Object, Method, Object[]>> done = U.set();

Expand Down

0 comments on commit 7f57f9a

Please sign in to comment.