/** * Used to specify multiple hash-only primary keys. * @param hashKeyName hash-only key name * @param hashKeyValues a list of hash key values */ public TableKeysAndAttributes withHashOnlyKeys(String hashKeyName, Object ... hashKeyValues) { if (hashKeyName == null) throw new IllegalArgumentException(); PrimaryKey[] primaryKeys = new PrimaryKey[hashKeyValues.length]; for (int i=0; i < hashKeyValues.length; i++) primaryKeys[i] = new PrimaryKey(hashKeyName, hashKeyValues[i]); return withPrimaryKeys(primaryKeys); }
/** * Used to specify multiple hash-and-range primary keys. * * @param hashKeyName * hash key name * @param rangeKeyName * range key name * @param alternatingHashAndRangeKeyValues * a list of alternating hash key value and range key value */ public TableKeysAndAttributes withHashAndRangeKeys( String hashKeyName, String rangeKeyName, Object... alternatingHashAndRangeKeyValues) { if (hashKeyName == null) throw new IllegalArgumentException("hash key name must be specified"); if (rangeKeyName == null) throw new IllegalArgumentException("range key name must be specified"); if (alternatingHashAndRangeKeyValues.length % 2 != 0) throw new IllegalArgumentException("number of hash and range key values must be the same"); final int len = alternatingHashAndRangeKeyValues.length / 2; PrimaryKey[] primaryKeys = new PrimaryKey[len]; for (int i=0; i < alternatingHashAndRangeKeyValues.length; i += 2) { primaryKeys[i >> 1] = new PrimaryKey( hashKeyName, alternatingHashAndRangeKeyValues[i], rangeKeyName, alternatingHashAndRangeKeyValues[i+1]); } return withPrimaryKeys(primaryKeys); }
/** * Used to specify multiple hash-only primary keys. * @param hashKeyName hash-only key name * @param hashKeyValues a list of hash key values */ public TableKeysAndAttributes withHashOnlyKeys(String hashKeyName, Object ... hashKeyValues) { if (hashKeyName == null) throw new IllegalArgumentException(); PrimaryKey[] primaryKeys = new PrimaryKey[hashKeyValues.length]; for (int i=0; i < hashKeyValues.length; i++) primaryKeys[i] = new PrimaryKey(hashKeyName, hashKeyValues[i]); return withPrimaryKeys(primaryKeys); }
/** * Used to specify multiple hash-and-range primary keys. * * @param hashKeyName * hash key name * @param rangeKeyName * range key name * @param alternatingHashAndRangeKeyValues * a list of alternating hash key value and range key value */ public TableKeysAndAttributes withHashAndRangeKeys( String hashKeyName, String rangeKeyName, Object... alternatingHashAndRangeKeyValues) { if (hashKeyName == null) throw new IllegalArgumentException("hash key name must be specified"); if (rangeKeyName == null) throw new IllegalArgumentException("range key name must be specified"); if (alternatingHashAndRangeKeyValues.length % 2 != 0) throw new IllegalArgumentException("number of hash and range key values must be the same"); final int len = alternatingHashAndRangeKeyValues.length / 2; PrimaryKey[] primaryKeys = new PrimaryKey[len]; for (int i=0; i < alternatingHashAndRangeKeyValues.length; i += 2) { primaryKeys[i >> 1] = new PrimaryKey( hashKeyName, alternatingHashAndRangeKeyValues[i], rangeKeyName, alternatingHashAndRangeKeyValues[i+1]); } return withPrimaryKeys(primaryKeys); }