package net.nullschool.grains.generate.model; import java.util.Collection; import java.util.Map; import javax.annotation.Generated; import net.nullschool.collect.ConstMap; import net.nullschool.grains.Grain; import net.nullschool.grains.GrainFactoryRef; /** * Composition of Composed and Grain. See {@link ComposedFactory}. */ @Generated("net.nullschool.grains.generate.GrainGenerator") @GrainFactoryRef(ComposedFactory.class) public interface ComposedGrain extends Composed, Grain, SquidGrain, HydraGrain { // // Composed Accessors // String getId(); ComposedGrain withId(String id); int getAge(); ComposedGrain withAge(int age); boolean isGiant(); ComposedGrain withGiant(boolean giant); int getLegCount(); ComposedGrain withLegCount(int legCount); String getName(); ComposedGrain withName(String name); // // Grain Methods // ConstMap<String, Object> extensions(); ComposedGrain with(String key, Object value); ComposedGrain withAll(Map<? extends String, ?> map); ComposedGrain without(Object key); ComposedGrain withoutAll(Collection<?> keys); ComposedBuilder newBuilder(); }