Liste özniteliğine sahip bir Java AutoValue sınıfım var. Oluşturucunun, tüm oluşturulmuş listeyi geçmek zorunda kalmak yerine Listeye eklemesine izin vermek istiyorum.Java AutoValue'da bir koleksiyona değer eklemek mümkün mü?
Örnek:
import com.google.auto.value.AutoValue;
@AutoValue
public abstract class Deck {
public abstract List<Card> cards();
public static Builder builder() {
return new AutoValue_Card.Builder()
.cards(new ArrayList<Card>());
}
@AutoValue.Builder
public abstract static class Builder {
public abstract Builder cards(List<Card> cards);
/**
* Append card to cards in the constructed Deck.
*/
public Builder addCard(Card card) {
// Is it possible to write this function?
}
}
}
addCard fonksiyonunu yazmak için en iyi çözüm nedir? AutoValue bir şekilde bunu zaten destekliyor mu? Oluşturulan sınıftaki ara kartlar özelliği, Oluşturucu tarafından görülemez, dolayısıyla doğrudan erişemiyorum. Builder'daki kartların kopyasını kendime saklayarak Builder'ı baypas etmeyi deneyebilirim, buradaki tek seçenek bu mu?
aynı işlevselliği olmayan sahibi olmak için planlar var Sadece com.google.common.collect geliştiricileri için ancak herhangi bir oluşturucu için mi? Oluşturduğum inşaatçılar için aynı işlevselliği kullanmayı çok isterim! – oae