<commit_before>/*
 * Copyright (c) 2015, Verisign, Inc.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 * * Redistributions of source code must retain the above copyright
 * notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * * Neither the names of the copyright holders nor the
 * names of its contributors may be used to endorse or promote products
 * derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL Verisign, Inc. BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

package com.verisign.getdns;

/**
 * <p>
 * This contains possible context option names that can be used while configuring the context manually. 
 * <pre>
 * HashMap<ContextOptionName, Object> options = new HashMap<ContextOptionName, Object>();
 * options.put(ContextOptionName.DNS_TRANSPORT, ContextOptionValue.GETDNS_TRANSPORT_UDP_ONLY);
 * IGetDNSContextSync context = GetDNSFactory.createSync(1, options);
 * </pre>
 * </p>
 * 
 */
public enum ContextOptionName {
	/**
	 * <p>
	 * An application can change the quering mechanism of a context to be to act
	 * as a stub resolver. Such an application might first get the default
	 * information to make this change from the operating system, probably through
	 * DHCP. Note that if a context is changed to being a stub resolver, this
	 * automatically prevents the application from using the extenstions for
	 * DNSSEC. An application that wants to both do DNSSEC and stub resolution
	 * must do its own DNSSEC processing, possibly with the
	 * getdns_validate_dnssec() function. The list of dicts define where a stub
	 * resolver will send queries. Each dict contains address_data (whose value is
	 * a bindata). For IPv6 link-local addresses, a scope_id name (a bindata) can
	 * be provided. It might also contain port to specify which port to use to
	 * contact these DNS servers; the default is 53. If the stub and a recursive
	 * resolver both support TSIG (RFC 2845), the upstream_list entry can also
	 * contain tsig_algorithm (a bindata) that is the name of the TSIG hash
	 * algorithm, and tsig_secret (a bindata) that is the TSIG key.
	 * </p>
	 */
	UPSTREAMS("upstreams"),

	/**
	 * An application can change the quering mechanism of a context to be to act
	 * as a stub resolver. Such an application might first get the default
	 * information to make this change from the operating system, probably through
	 * DHCP. Note that if a context is changed to being a stub resolver, this
	 * automatically prevents the application from using the extenstions for
	 * DNSSEC. An application that wants to both do DNSSEC and stub resolution
	 * must do its own DNSSEC processing, possibly with the
	 * getdns_validate_dnssec() function. The list of dicts define where a stub
	 * resolver will send queries. Each dict contains address_data (whose value is
	 * a bindata). For IPv6 link-local addresses, a scope_id name (a bindata) can
	 * be provided. It might also contain port to specify which port to use to
	 * contact these DNS servers; the default is 53. If the stub and a recursive
	 * resolver both support TSIG (RFC 2845), the upstream_list entry can also
	 * contain tsig_algorithm (a bindata) that is the name of the TSIG hash
	 * algorithm, and tsig_secret (a bindata) that is the TSIG key.
	 */
	UPSTREAM_RECURSIVE_SERVERS("upstream_recursive_servers"),

	/**
	 * <p>
	 * This takes values as an integer specifying a timeout for a query,<commit_msg>fixing doc<commit_after>/*
 * Copyright (c) 2015, Verisign, Inc.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 * * Redistributions of source code must retain the above copyright
 * notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * * Neither the names of the copyright holders nor the
 * names of its contributors may be used to endorse or promote products
 * derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL Verisign, Inc. BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

package com.verisign.getdns;

/**
 * <p>
 * This contains possible context option names that can be used while configuring the context manually. 
 * <pre>
 * HashMap<ContextOptionName, Object> options = new HashMap<ContextOptionName, Object>();
 * options.put(ContextOptionName.DNS_TRANSPORT, ContextOptionValue.GETDNS_TRANSPORT_UDP_ONLY);
 * IGetDNSContextSync context = GetDNSFactory.createSync(1, options);
 * </pre>
 * </p>
 * 
 */
public enum ContextOptionName {
	/**
	 * <p>
	 * An application can change the quering mechanism of a context to be to act
	 * as a stub resolver.
	 * <pre>
	 * Usage:
	 * {@code
	 *   HashMap<ContextOptionName, Object> options = new HashMap<ContextOptionName, Object>();
	 *   options.put(ContextOptionName.STUB, true);
	 *   Object[][] list = { { "8.8.8.8" }, { "127.0.0.1", 80 } };
	 *   options.put(ContextOptionName.UPSTREAMS, list);
	 *   IGetDNSContextSync context = GetDNSFactory.createSync(1, options);
	 * </pre>
	 *
	 * </p>
	 */
	UPSTREAMS("upstreams"),

	/**
	 * <p>
	 * This takes values as an integer specifying a timeout for a query,
{'fraction_non_alphanumeric': 0.06732255797610681, 'fraction_numerical': 0.005200281096275475, 'mean_word_length': 4.167755991285403, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 25, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '253277', 'n_tokens_mistral': 1997, 'n_tokens_neox': 1803, 'n_words': 934}