/* * Copyright <2021> Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://www.apache.org/licenses/LICENSE-2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. * */ package software.amazon.documentdb.jdbc; /** * The enumeration of read preferences for DocumentDb. */ public enum DocumentDbReadPreference { PRIMARY("primary"), PRIMARY_PREFERRED("primaryPreferred"), SECONDARY("secondary"), SECONDARY_PREFERRED("secondaryPreferred"), NEAREST("nearest"); private final String name; /** * Constructor for a read preference. * * @param name The value of the read preference. */ DocumentDbReadPreference(final String name) { this.name = name; } /** * Gets the string value of the read preference. * * @return The name of the read preference. */ public String getName() { return name; } /** * Returns DocumentDbReadPreference with a name that matches input string. * @param readPreferenceString name of the read preference. * @return DocumentDbReadPreference of string. */ public static DocumentDbReadPreference fromString(final String readPreferenceString) { for (DocumentDbReadPreference readPreference: DocumentDbReadPreference.values()) { if (readPreference.name.equals(readPreferenceString)) { return readPreference; } } return null; } }