public <T extends BaseCouchbaseTableFunction<V>> T withTtl(Duration ttl) {
    Preconditions.checkArgument(ttl != null && !ttl.isNegative(), "TTL should not be null or negative");
    this.ttl = ttl;
    return (T) this;
  }
Set the TTL for the data writen to Couchbase. Default value Duration.ZERO means no TTL, data will be stored forever.
See <a href="https://docs.couchbase.com/java-sdk/2.7/core-operations.html#expiry"></a>.
@param ttl TTL duration
@param <T> type of this instance
@return Self
samza-kv-couchbase/src/main/java/org/apache/samza/table/remote/couchbase/BaseCouchbaseTableFunction.java