public <T> T get(Class<T> c) { List<Component< ? >> components = map.get(c); if (components == null || components.size() == 0) return null; return c.cast(components.get(0).instance); }
public Iterator<V> iterate(K key) { assert keyClass.isInstance(key); List<V> set = get(key); if (set == null) return EMPTY.iterator(); return set.iterator(); }
public Iterator<V> iterate(K key) { assert keyClass.isInstance(key); List<V> set = get(key); if (set == null) return EMPTY.iterator(); return set.iterator(); }
public Iterator<V> iterate(K key) { assert keyClass.isInstance(key); List<V> set = get(key); if (set == null) return Collections.<V> emptyList() .iterator(); return set.iterator(); }
public Iterator<V> iterate(K key) { assert keyClass.isInstance(key); List<V> set = get(key); if (set == null) return Collections.<V> emptyList() .iterator(); return set.iterator(); }
public Iterator<V> iterate(K key) { assert keyClass.isInstance(key); List<V> set = get(key); if (set == null) return Collections.<V> emptyList() .iterator(); return set.iterator(); }
public boolean removeAll(K key, Collection<? extends V> value) { assert keyClass.isInstance(key); List<V> set = get(key); if (set == null) { return false; } boolean result = set.removeAll(value); if (set.isEmpty()) remove(key); return result; }
public boolean remove(K key, V value) { assert keyClass.isInstance(key); assert valueClass.isInstance(value); List<V> set = get(key); if (set == null) { return false; } boolean result = set.remove(value); if (set.isEmpty()) remove(key); return result; }
public boolean removeValue(K key, V value) { assert keyClass.isInstance(key); assert valueClass.isInstance(value); List<V> set = get(key); if (set == null) { return false; } boolean result = set.remove(value); if (set.isEmpty()) remove(key); return result; }
public boolean removeAll(K key, Collection<V> value) { assert keyClass.isInstance(key); List<V> set = get(key); if (set == null) { return false; } boolean result = set.removeAll(value); if (set.isEmpty()) remove(key); return result; }
public boolean removeValue(K key, V value) { assert keyClass.isInstance(key); assert valueClass.isInstance(value); List<V> set = get(key); if (set == null) { return false; } boolean result = set.remove(value); if (set.isEmpty()) remove(key); return result; }
public boolean removeValue(K key, V value) { assert keyClass.isInstance(key); assert valueClass.isInstance(value); List<V> set = get(key); if (set == null) { return false; } boolean result = set.remove(value); if (set.isEmpty()) remove(key); return result; }
public boolean removeAll(K key, Collection<V> value) { assert keyClass.isInstance(key); List<V> set = get(key); if (set == null) { return false; } boolean result = set.removeAll(value); if (set.isEmpty()) remove(key); return result; }
public boolean add( K key, V value ) { Set<V> set = get(key); if ( set == null) { set=new HashSet<V>(); put(key,set); } return set.add(value); }
public boolean removeAll(K key, Collection<? extends V> value) { assert keyClass.isInstance(key); List<V> set = get(key); if (set == null) { return false; } boolean result = set.removeAll(value); if (set.isEmpty()) remove(key); return result; }
public boolean remove(K key, V value) { assert keyClass.isInstance(key); assert valueClass.isInstance(value); List<V> set = get(key); if (set == null) { return false; } boolean result = set.remove(value); if (set.isEmpty()) remove(key); return result; }
public boolean removeAll(K key, Collection<? extends V> value) { assert keyClass.isInstance(key); List<V> set = get(key); if (set == null) { return false; } boolean result = set.removeAll(value); if (set.isEmpty()) remove(key); return result; }
public boolean remove(K key, V value) { assert keyClass.isInstance(key); assert valueClass.isInstance(value); List<V> set = get(key); if (set == null) { return false; } boolean result = set.remove(value); if (set.isEmpty()) remove(key); return result; }
public boolean removeAll(K key, Collection<V> value) { assert keyClass.isInstance(key); List<V> set = get(key); if (set == null) { return false; } boolean result = set.removeAll(value); if (set.isEmpty()) remove(key); return result; }
PropertyDef copy(Function<String, String> keyMapper) { PropertyDef copy = new PropertyDef(analyzer); property.keySet() .forEach(key -> copy.setProperty(keyMapper.apply(key), propertyType.get(key), property.get(key))); return copy; }