/** * The property's value */ public V value() { return valueDonor.value(); } }
/** * The property's value */ public V value() { return valueDonor.value(); } }
@Override public T value() { T newCollection = newCollection(); for (Donor<? extends E> elementDonor : elementDonors) { newCollection.add(elementDonor.value()); } return newCollection; }
@Override public T value() { T newCollection = newCollection(); for (Donor<? extends E> elementDonor : elementDonors) { newCollection.add(elementDonor.value()); } return newCollection; }
public static <T> Donor<T> theSame(Donor<T> originalDonor) { return new SameValueDonor<>(originalDonor.value()); }
public static <T> Donor<T> theSame(Donor<T> originalDonor) { return new SameValueDonor<>(originalDonor.value()); }
@Override public <V> V valueOf(Property<? super T, V> property, Donor<? extends V> defaultValue) { if (values.containsKey(property)) { //noinspection unchecked return (V) values.get(property).value(); } else { return defaultValue.value(); } } }
@Override public <V> V valueOf(Property<? super T, V> property, Donor<? extends V> defaultValue) { if (values.containsKey(property)) { //noinspection unchecked return (V) values.get(property).value(); } else { return defaultValue.value(); } } }
@Test public void sequenceFromCollection() { Donor<String> names = from(new TreeSet<>(asList("Bob", "Alice", "Carol", "Dave"))); assertThat(names.value(), equalTo("Alice")); assertThat(names.value(), equalTo("Bob")); assertThat(names.value(), equalTo("Carol")); assertThat(names.value(), equalTo("Dave")); }
@Override public FruitBowl instantiate(PropertyLookup<FruitBowl> lookup) { return new FruitBowl( lookup.valueOf(contents, listOf(an(Apple), a(Banana)).value())); } };