public void assureModule(Module module) { if (!modulePort.containsKey(module.getContext())) { HashMap<String, ModuleBean> builder = HashMap.empty(); builder = builder.putAll(modulePort); builder = builder.put(module.getContext(), ModuleBean.builder().host(getHost(module)).port(getPort(module)).build()); modulePort = builder; } }
public static <K,V> HashMap<K,V> of(K k,V v){ HashMap<K,V> res = empty(); return res.put(k,v); }
public void assureModule(Module module) { if (!modulePort.containsKey(module.getContext())) { HashMap<String, ModuleBean> builder = HashMap.empty(); builder = builder.putAll(modulePort); builder = builder.put(module.getContext(), ModuleBean.builder().host(getHost(module)).port(getPort(module)).build()); modulePort = builder; } }
public static <K,V> HashMap<K,V> fromMap(Map<K,V> map){ HashMap<K,V> res = empty(); for(Map.Entry<K,V> next : map.entrySet()){ res = res.put(next.getKey(),next.getValue()); } return res; } public static <K,V> HashMap<K,V> fromMap(PersistentMap<K,V> map){
@Synchronized("lock") private <R> ReactiveSeq<R> connect(final Function<Queue<T>, ReactiveSeq<R>> streamCreator) { final Queue<T> queue = this.getNextQueue(); final ReactiveSeq<R> stream = streamCreator.apply(queue); this.streamToQueue = streamToQueue.put(stream, queue); return stream; }
@Override public HashMap<K, V> putAll(PersistentMap<? extends K, ? extends V> map) { HashMap<K,V> res = this; for(Tuple2<? extends K, ? extends V> e : map){ res = res.put(e._1(),e._2()); } return res; }
@Override public HashMap<K, V> put(Tuple2<K, V> keyAndValue) { return put(keyAndValue._1(),keyAndValue._2()); }
public static <K,V> HashMap<K,V> fromMap(PersistentMap<K,V> map){ if(map instanceof HashMap){ return (HashMap)map; } HashMap<K,V> res = empty(); for(Tuple2<K,V> next : map){ res = res.put(next._1(),next._2()); } return res; } public static <K,V> HashMap<K,V> of(K k1,V v1,K k2, V v2){
public HashMap<T1,T2> toHashMap(){ return HashMap.<T1,T2>empty().put(_1(),_2()); } public Map<T1,T2> toMap(){
public Bag<T> plus(final T value) { return new Bag<>(map.put(value, map.get(value).orElse(0)+1), size+1); }
@Override public Bag<T> removeValue(final T value) { int n = map.get(value).orElse(0); if(n==0) return this; if(n==1) return new Bag<>(map.remove(value), size-1); return new Bag<>(map.put(value, n-1), size-1); }
/** * Use classifier function to group elements in this Sequence into a Map * * <pre> * {@code * HashMap<Integer, Vector<Integer>> map1 = of(1, 2, 3, 4).groupBy(i -> i % 2); * assertEquals(Vector.of(2, 4), map1.getOrElse(0,Vector.empty())); * assertEquals(Vector.of(1, 3), map1.getOrElse(1,Vector.empty())); * assertEquals(2, map1.size()); * * } * * </pre> */ @Override default <K> HashMap<K, Vector<T>> groupBy(final Function<? super T, ? extends K> classifier) { return this.foldLeft(HashMap.<K, Vector<T>>empty(), (a, b) -> { K k = classifier.apply(b); Vector<T> s = a.getOrElse(k, Vector.empty()); return a.put(k, s.plus(b)); }); }
public static <K,V> HashMap<K,V> fromStream(Stream<Tuple2<K,V>> stream){ return ReactiveSeq.fromStream(stream).foldLeft(empty(),(m,t2)->m.put(t2._1(),t2._2())); }
public static <K,V> HashMap<K,V> fromMap(Map<K,V> map){ HashMap<K,V> res = empty(); for(Map.Entry<K,V> next : map.entrySet()){ res = res.put(next.getKey(),next.getValue()); } return res; } public static <K,V> HashMap<K,V> fromMap(PersistentMap<K,V> map){
@Synchronized("lock") private <R> ReactiveSeq<R> connect(final Function<Queue<T>, ReactiveSeq<R>> streamCreator) { final Queue<T> queue = this.getNextQueue(); final ReactiveSeq<R> stream = streamCreator.apply(queue); this.streamToQueue = streamToQueue.put(stream, queue); return stream; }
@Override public HashMap<K, V> putAll(PersistentMap<? extends K, ? extends V> map) { HashMap<K,V> res = this; for(Tuple2<? extends K, ? extends V> e : map){ res = res.put(e._1(),e._2()); } return res; }
public static <K,V> HashMap<K,V> fromMap(PersistentMap<K,V> map){ if(map instanceof HashMap){ return (HashMap)map; } HashMap<K,V> res = empty(); for(Tuple2<K,V> next : map){ res = res.put(next._1(),next._2()); } return res; } public static <K,V> HashMap<K,V> of(K k1,V v1,K k2, V v2){
@Override public Bag<T> removeValue(final T value) { int n = map.get(value).orElse(0); if(n==0) return this; if(n==1) return new Bag<>(map.remove(value), size-1); return new Bag<>(map.put(value, n-1), size-1); }
public MultiMapHK<W,K, V> put(K key, V value) { Higher<W,V> hkt = multiMap.get(key).map(v->appender.append(v,value)).orElseGet(()->pure.unit(value)); return new MultiMapHK<>(multiMap.put(key,hkt),appender,pure); } public <R> Option<R> get(K key, Function<? super Higher<W,V>,? extends R> decoder){