protected static QueryOptions watchParams(final BigInteger index, final int blockSeconds, QueryOptions queryOptions) { checkArgument(!queryOptions.getIndex().isPresent() && !queryOptions.getWait().isPresent(), "Index and wait cannot be overridden"); ImmutableQueryOptions.Builder builder = ImmutableQueryOptions.builder() .from(watchDefaultParams(index, blockSeconds)) .token(queryOptions.getToken()) .consistencyMode(queryOptions.getConsistencyMode()) .near(queryOptions.getNear()) .datacenter(queryOptions.getDatacenter()); for (String tag : queryOptions.getTag()) { builder.addTag(tag); } return builder.build(); }
/** * Creates an immutable copy of a {@link QueryOptions} 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 QueryOptions instance */ public static ImmutableQueryOptions copyOf(QueryOptions instance) { if (instance instanceof ImmutableQueryOptions) { return (ImmutableQueryOptions) instance; } return ImmutableQueryOptions.builder() .from(instance) .build(); }