/** * Fill a builder with attribute values from the provided {@code DeleteOptions} instance. * Regular attribute values will be replaced with those from the given instance. * Absent optional values will not replace present values. * @param instance The instance from which to copy values * @return {@code this} builder for use in a chained invocation */ public final Builder from(DeleteOptions instance) { Preconditions.checkNotNull(instance, "instance"); Optional<Long> casOptional = instance.getCas(); if (casOptional.isPresent()) { cas(casOptional); } Optional<Boolean> recurseOptional = instance.getRecurse(); if (recurseOptional.isPresent()) { recurse(recurseOptional); } Optional<String> datacenterOptional = instance.getDatacenter(); if (datacenterOptional.isPresent()) { datacenter(datacenterOptional); } return this; }
/** * Creates an immutable copy of a {@link DeleteOptions} value. * Uses accessors to get values to initialize the new immutable instance. * If an instance is already immutable, it is returned as is. * @param instance The instance to copy * @return A copied immutable DeleteOptions instance */ public static ImmutableDeleteOptions copyOf(DeleteOptions instance) { if (instance instanceof ImmutableDeleteOptions) { return (ImmutableDeleteOptions) instance; } return ImmutableDeleteOptions.builder() .from(instance) .build(); }
/** * Creates a builder for {@link ImmutableDeleteOptions ImmutableDeleteOptions}. * @return A new ImmutableDeleteOptions builder */ public static ImmutableDeleteOptions.Builder builder() { return new ImmutableDeleteOptions.Builder(); }