boolean keySpecialEquals(HashObjCharMapFactory<?> other) { return getKeyEquivalence().equals(other.getKeyEquivalence()) && isNullKeyAllowed() == other.isNullKeyAllowed(); }
/** * Constructs a new immutable map with the same mappings as the specified {@code map}. * * * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjCharMapFactory#newImmutableMap( * Map) newImmutableMap(map)}. * * @param map the map whose mappings are to be placed in the returned map * * @param <K> the key type of the returned map * @return a new immutable map with the same mappings as the specified {@code map} */ @Nonnull public static <K> HashObjCharMap<K> newImmutableMap( @Nonnull Map<? extends K, Character> map) { return getDefaultFactory().<K>newImmutableMap(map); }
/** * Constructs a new immutable map of the single specified mapping. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjCharMapFactory#newImmutableMapOf(Object, char * ) newImmutableMapOf(k1, v1)}. * * @param k1 the key of the sole mapping * @param v1 the value of the sole mapping * @param <K> the key type of the returned map * @return a new immutable map of the single specified mapping */ @Nonnull public static <K> HashObjCharMap<K> newImmutableMapOf( K k1, char v1) { return getDefaultFactory().<K>newImmutableMapOf(k1, v1); }
/** * Constructs a new empty mutable map of the default expected size. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjCharMapFactory#newMutableMap() newMutableMap()}. * * @param <K> the key type of the returned map * @return a new empty mutable map */ @Nonnull public static <K> HashObjCharMap<K> newMutableMap() { return getDefaultFactory().<K>newMutableMap(); }
/** * Constructs a new empty updatable map of the default expected size. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjCharMapFactory#newUpdatableMap() newUpdatableMap()}. * * @param <K> the key type of the returned map * @return a new empty updatable map */ @Nonnull public static <K> HashObjCharMap<K> newUpdatableMap() { return getDefaultFactory().<K>newUpdatableMap(); }
/** * Constructs a new updatable map of the single specified mapping. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjCharMapFactory#newUpdatableMapOf(Object, char * ) newUpdatableMapOf(k1, v1)}. * * @param k1 the key of the sole mapping * @param v1 the value of the sole mapping * @param <K> the key type of the returned map * @return a new updatable map of the single specified mapping */ @Nonnull public static <K> HashObjCharMap<K> newUpdatableMapOf( K k1, char v1) { return getDefaultFactory().<K>newUpdatableMapOf(k1, v1); }
/** * Constructs a new mutable map of the single specified mapping. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjCharMapFactory#newMutableMapOf(Object, char * ) newMutableMapOf(k1, v1)}. * * @param k1 the key of the sole mapping * @param v1 the value of the sole mapping * @param <K> the key type of the returned map * @return a new mutable map of the single specified mapping */ @Nonnull public static <K> HashObjCharMap<K> newMutableMapOf( K k1, char v1) { return getDefaultFactory().<K>newMutableMapOf(k1, v1); }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj instanceof HashObjCharMapFactory) { HashObjCharMapFactory factory = (HashObjCharMapFactory) obj; return commonEquals(factory) && keySpecialEquals(factory) && // boxing to treat NaNs correctly ((Character) getDefaultValue()).equals(factory.getDefaultValue()) ; } else { return false; } }
/** * Constructs a new empty mutable map of the default expected size. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjCharMapFactory#newMutableMap() newMutableMap()}. * * @param <K> the key type of the returned map * @return a new empty mutable map */ @Nonnull public static <K> HashObjCharMap<K> newMutableMap() { return getDefaultFactory().<K>newMutableMap(); }
/** * Constructs a new empty updatable map of the default expected size. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjCharMapFactory#newUpdatableMap() newUpdatableMap()}. * * @param <K> the key type of the returned map * @return a new empty updatable map */ @Nonnull public static <K> HashObjCharMap<K> newUpdatableMap() { return getDefaultFactory().<K>newUpdatableMap(); }
/** * Constructs a new updatable map of the single specified mapping. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjCharMapFactory#newUpdatableMapOf(Object, char * ) newUpdatableMapOf(k1, v1)}. * * @param k1 the key of the sole mapping * @param v1 the value of the sole mapping * @param <K> the key type of the returned map * @return a new updatable map of the single specified mapping */ @Nonnull public static <K> HashObjCharMap<K> newUpdatableMapOf( K k1, char v1) { return getDefaultFactory().<K>newUpdatableMapOf(k1, v1); }
/** * Constructs a new mutable map of the single specified mapping. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjCharMapFactory#newMutableMapOf(Object, char * ) newMutableMapOf(k1, v1)}. * * @param k1 the key of the sole mapping * @param v1 the value of the sole mapping * @param <K> the key type of the returned map * @return a new mutable map of the single specified mapping */ @Nonnull public static <K> HashObjCharMap<K> newMutableMapOf( K k1, char v1) { return getDefaultFactory().<K>newMutableMapOf(k1, v1); }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj instanceof HashObjCharMapFactory) { HashObjCharMapFactory factory = (HashObjCharMapFactory) obj; return commonEquals(factory) && keySpecialEquals(factory) && // boxing to treat NaNs correctly ((Character) getDefaultValue()).equals(factory.getDefaultValue()) ; } else { return false; } }
/** * Constructs a new empty mutable map of the given expected size. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjCharMapFactory#newMutableMap(int) newMutableMap(expectedSize)}. * * @param expectedSize the expected size of the returned map * @param <K> the key type of the returned map * @return a new empty mutable map of the given expected size */ @Nonnull public static <K> HashObjCharMap<K> newMutableMap(int expectedSize) { return getDefaultFactory().<K>newMutableMap(expectedSize); }
/** * Constructs a new immutable map which merge the mappings of the specified maps. On conflict, * mappings from the {@code map2} have priority over mappings from the {@code map1} with * the same keys. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjCharMapFactory#newImmutableMap(Map, * Map, int) newImmutableMap(map1, map2, expectedSize)}. * * @param map1 the first map to merge * @param map2 the second map to merge * @param expectedSize the expected size of the returned map * @param <K> the key type of the returned map * @return a new immutable map which merge the mappings of the specified maps */ @Nonnull public static <K> HashObjCharMap<K> newImmutableMap( @Nonnull Map<? extends K, Character> map1, @Nonnull Map<? extends K, Character> map2, int expectedSize) { return getDefaultFactory().<K>newImmutableMap(map1, map2, expectedSize); }
/** * Constructs a new empty updatable map of the given expected size. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjCharMapFactory#newUpdatableMap(int) newUpdatableMap(expectedSize)}. * * @param expectedSize the expected size of the returned map * @param <K> the key type of the returned map * @return a new empty updatable map of the given expected size */ @Nonnull public static <K> HashObjCharMap<K> newUpdatableMap(int expectedSize) { return getDefaultFactory().<K>newUpdatableMap(expectedSize); }
boolean keySpecialEquals(HashObjCharMapFactory<?> other) { return getKeyEquivalence().equals(other.getKeyEquivalence()) && isNullKeyAllowed() == other.isNullKeyAllowed(); }
/** * Constructs a new updatable map of the two specified mappings. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjCharMapFactory#newUpdatableMapOf(Object, char, * Object, char) newUpdatableMapOf(k1, v1, k2, v2)}. * * @param k1 the key of the first mapping * @param v1 the value of the first mapping * @param k2 the key of the second mapping * @param v2 the value of the second mapping * @param <K> the key type of the returned map * @return a new updatable map of the two specified mappings */ @Nonnull public static <K> HashObjCharMap<K> newUpdatableMapOf( K k1, char v1, K k2, char v2) { return getDefaultFactory().<K>newUpdatableMapOf(k1, v1, k2, v2); }
/** * Constructs a new immutable map of the single specified mapping. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjCharMapFactory#newImmutableMapOf(Object, char * ) newImmutableMapOf(k1, v1)}. * * @param k1 the key of the sole mapping * @param v1 the value of the sole mapping * @param <K> the key type of the returned map * @return a new immutable map of the single specified mapping */ @Nonnull public static <K> HashObjCharMap<K> newImmutableMapOf( K k1, char v1) { return getDefaultFactory().<K>newImmutableMapOf(k1, v1); }
/** * Constructs a new mutable map of the two specified mappings. * * <p>This method simply delegates to {@link #getDefaultFactory() * }<tt>.</tt>{@link HashObjCharMapFactory#newMutableMapOf(Object, char, * Object, char) newMutableMapOf(k1, v1, k2, v2)}. * * @param k1 the key of the first mapping * @param v1 the value of the first mapping * @param k2 the key of the second mapping * @param v2 the value of the second mapping * @param <K> the key type of the returned map * @return a new mutable map of the two specified mappings */ @Nonnull public static <K> HashObjCharMap<K> newMutableMapOf( K k1, char v1, K k2, char v2) { return getDefaultFactory().<K>newMutableMapOf(k1, v1, k2, v2); }