001package com.nimbusds.infinispan.persistence.dynamodb;
002
003
004/**
005 * DynamoDB primary key value (hash key, with optional range key).
006 */
007public final class PrimaryKeyValue {
008        
009        
010        /**
011         * The hash key value.
012         */
013        private final String hashKeyValue;
014        
015        
016        /**
017         * The optional range key value.
018         */
019        private final String rangeKeyValue;
020        
021        
022        /**
023         * Creates a new DynamoDB primary key value.
024         *
025         * @param hashKeyValue  The hash key value. Must not be {@code null}.
026         * @param rangeKeyValue The optional range key value, {@code null} if
027         *                      none.
028         */
029        public PrimaryKeyValue(final String hashKeyValue, final String rangeKeyValue) {
030                if (hashKeyValue == null) {
031                        throw new IllegalArgumentException("The hash key value must not be null");
032                }
033                this.hashKeyValue = hashKeyValue;
034                this.rangeKeyValue = rangeKeyValue;
035        }
036        
037        
038        /**
039         * Returns the hash key value.
040         *
041         * @return The hash key value.
042         */
043        public String getHashKeyValue() {
044                
045                return hashKeyValue;
046        }
047        
048        
049        /**
050         * Returns the range key value.
051         *
052         * @return The range key value, {@code null} if none.
053         */
054        public String getRangeKeyValue() {
055                
056                return rangeKeyValue;
057        }
058}