public ExpectedAttributeValue withExists(Boolean exists) {
        setExists(exists);
        return this;
    }
<p>
Causes DynamoDB to evaluate the value before attempting a conditional operation:
</p>
<ul>
<li>
<p>
If <code>Exists</code> is <code>true</code>, DynamoDB will check to see if that attribute value already exists in
the table. If it is found, then the operation succeeds. If it is not found, the operation fails with a
<code>ConditionCheckFailedException</code>.
</p>
</li>
<li>
<p>
If <code>Exists</code> is <code>false</code>, DynamoDB assumes that the attribute value does not exist in the
table. If in fact the value does not exist, then the assumption is valid and the operation succeeds. If the value
is found, despite the assumption that it does not exist, the operation fails with a
<code>ConditionCheckFailedException</code>.
</p>
</li>
</ul>
<p>
The default setting for <code>Exists</code> is <code>true</code>. If you supply a <code>Value</code> all by
itself, DynamoDB assumes the attribute exists: You don't have to set <code>Exists</code> to <code>true</code>,
because it is implied.
</p>
<p>
DynamoDB returns a <code>ValidationException</code> if:
</p>
<ul>
<li>
<p>
<code>Exists</code> is <code>true</code> but there is no <code>Value</code> to check. (You expect a value to
exist, but don't specify what that value is.)
</p>
</li>
<li>
<p>
<code>Exists</code> is <code>false</code> but you also provide a <code>Value</code>. (You cannot expect an
attribute to have a value, while also expecting it not to exist.)
</p>
</li>
</ul>

@param exists
       Causes DynamoDB to evaluate the value before attempting a conditional operation:</p>
       <ul>
       <li>
       <p>
       If <code>Exists</code> is <code>true</code>, DynamoDB will check to see if that attribute value already
       exists in the table. If it is found, then the operation succeeds. If it is not found, the operation fails
       with a <code>ConditionCheckFailedException</code>.
       </p>
       </li>
       <li>
       <p>
       If <code>Exists</code> is <code>false</code>, DynamoDB assumes that the attribute value does not exist in
       the table. If in fact the value does not exist, then the assumption is valid and the operation succeeds.
       If the value is found, despite the assumption that it does not exist, the operation fails with a
       <code>ConditionCheckFailedException</code>.
       </p>
       </li>
       </ul>
       <p>
       The default setting for <code>Exists</code> is <code>true</code>. If you supply a <code>Value</code> all
       by itself, DynamoDB assumes the attribute exists: You don't have to set <code>Exists</code> to
       <code>true</code>, because it is implied.
       </p>
       <p>
       DynamoDB returns a <code>ValidationException</code> if:
       </p>
       <ul>
       <li>
       <p>
       <code>Exists</code> is <code>true</code> but there is no <code>Value</code> to check. (You expect a value
       to exist, but don't specify what that value is.)
       </p>
       </li>
       <li>
       <p>
       <code>Exists</code> is <code>false</code> but you also provide a <code>Value</code>. (You cannot expect an
       attribute to have a value, while also expecting it not to exist.)
       </p>
       </li>
@return Returns a reference to this object so that method calls can be chained together.
aws-java-sdk-dynamodb/src/main/java/com/amazonaws/services/dynamodbv2/model/ExpectedAttributeValue.java