1 /*
2  * Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * 
4  * Licensed under the Apache License, Version 2.0 (the "License").
5  * You may not use this file except in compliance with the License.
6  * A copy of the License is located at
7  * 
8  *  http://aws.amazon.com/apache2.0
9  * 
10  * or in the "license" file accompanying this file. This file is distributed
11  * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12  * express or implied. See the License for the specific language governing
13  * permissions and limitations under the License.
14  */

15 package com.amazonaws.internal.config;
16
17 /**
18  * An internal class used to represent a key-object pair for JSON persistence purposes.
19  */

20 public final class JsonIndex<C extends Builder<T>, T> {
21
22     private String key;
23     private C config;
24
25     public JsonIndex() {
26     }
27
28     public JsonIndex(String key) {
29         this.key = key;
30     }
31
32     public JsonIndex(String key, C config) {
33         this.key = key;
34         this.config = config;
35     }
36
37     public String getKey() {
38         return key;
39     }
40
41     public void setKey(String key) {
42         this.key = key;
43     }
44
45     public C getConfig() {
46         return config;
47     }
48
49     public void setConfig(C config) {
50         this.config = config;
51     }
52
53     public T newReadOnlyConfig() {
54         return config.build();
55     }
56 }