@Override public boolean isEmpty() { return back.isEmpty(); }
static <K, V, M extends Map<K, V>> M peek(M map, Consumer<? super Tuple2<K, V>> action) { Objects.requireNonNull(action, "action is null"); if (!map.isEmpty()) { action.accept(map.head()); } return map; }
@Override public M init() { if (back.isEmpty()) { throw new UnsupportedOperationException("init of empty HashMap"); } else { final Tuple2<K, V> last = last(); return remove(last._1, last._2); } }
static <K, V, M extends Map<K, V>> M merge(M map, OfEntries<K, V, M> ofEntries, Map<? extends K, ? extends V> that) { Objects.requireNonNull(that, "that is null"); if (map.isEmpty()) { return ofEntries.apply(Map.narrow(that)); } else if (that.isEmpty()) { return map; } else { return that.foldLeft(map, (result, entry) -> !result.containsKey(entry._1) ? put(result, entry) : result); } }
@SuppressWarnings("unchecked") static <K, V, M extends Map<K, V>> Option<M> initOption(M map) { return map.isEmpty() ? Option.none() : Option.some((M) map.init()); }
@SuppressWarnings("unchecked") static <K, V, M extends Map<K, V>> Option<M> tailOption(M map) { return map.isEmpty() ? Option.none() : Option.some((M) map.tail()); }
@SuppressWarnings("unchecked") static <K, V, U extends V, M extends Map<K, V>> M merge( M map, OfEntries<K, V, M> ofEntries, Map<? extends K, U> that, BiFunction<? super V, ? super U, ? extends V> collisionResolution) { Objects.requireNonNull(that, "that is null"); Objects.requireNonNull(collisionResolution, "collisionResolution is null"); if (map.isEmpty()) { return ofEntries.apply(Map.narrow(that)); } else if (that.isEmpty()) { return map; } else { return that.foldLeft(map, (result, entry) -> { final K key = entry._1; final U value = entry._2; final V newValue = result.get(key).map(v -> (V) collisionResolution.apply(v, value)).getOrElse(value); return (M) result.put(key, newValue); }); } }
@Override public boolean isEmpty(SerializerProvider provider, Map<?, ?> value) { return value.isEmpty(); } }
@Override public boolean isEmpty() { return back.isEmpty(); }
static <K, V, M extends Map<K, V>> M peek(M map, Consumer<? super Tuple2<K, V>> action) { Objects.requireNonNull(action, "action is null"); if (!map.isEmpty()) { action.accept(map.head()); } return map; }
@Override public M init() { if (back.isEmpty()) { throw new UnsupportedOperationException("init of empty HashMap"); } else { final Tuple2<K, V> last = last(); return remove(last._1, last._2); } }
static <K, V, M extends Map<K, V>> M merge(M map, OfEntries<K, V, M> ofEntries, Map<? extends K, ? extends V> that) { Objects.requireNonNull(that, "that is null"); if (map.isEmpty()) { return ofEntries.apply(Map.narrow(that)); } else if (that.isEmpty()) { return map; } else { return that.foldLeft(map, (result, entry) -> !result.containsKey(entry._1) ? put(result, entry) : result); } }
@SuppressWarnings("unchecked") static <K, V, M extends Map<K, V>> Option<M> tailOption(M map) { return map.isEmpty() ? Option.none() : Option.some((M) map.tail()); }
@SuppressWarnings("unchecked") static <K, V, U extends V, M extends Map<K, V>> M merge( M map, OfEntries<K, V, M> ofEntries, Map<? extends K, U> that, BiFunction<? super V, ? super U, ? extends V> collisionResolution) { Objects.requireNonNull(that, "that is null"); Objects.requireNonNull(collisionResolution, "collisionResolution is null"); if (map.isEmpty()) { return ofEntries.apply(Map.narrow(that)); } else if (that.isEmpty()) { return map; } else { return that.foldLeft(map, (result, entry) -> { final K key = entry._1; final U value = entry._2; final V newValue = result.get(key).map(v -> (V) collisionResolution.apply(v, value)).getOrElse(value); return (M) result.put(key, newValue); }); } }
@SuppressWarnings("unchecked") static <K, V, M extends Map<K, V>> Option<M> initOption(M map) { return map.isEmpty() ? Option.none() : Option.some((M) map.init()); }
private void renderJsonLinks( ObjectNode objectNode, ResourceRepresentation<?> representation, boolean embedded) { if (!representation.getLinks().isEmpty() || (!embedded && !representation.getNamespaces().isEmpty())) {