# Class: com.pnfsoftware.jeb.util.net.NetProxyInfo

Network proxy information. 

 Immutable objects; safe comparison via hashCode/equals.

## Constructor: NetProxyInfo
- parameter: `typestr`, type: `java.lang.String`
- parameter: `hostname`, type: `java.lang.String`
- parameter: `port`, type: `int`

Description: Create proxy information without credentials or a whitelist.
parameter: typestr: proxy type string
parameter: hostname: proxy host name
parameter: port: proxy port

## Constructor: NetProxyInfo
- parameter: `typestr`, type: `java.lang.String`
- parameter: `hostname`, type: `java.lang.String`
- parameter: `port`, type: `int`
- parameter: `user`, type: `java.lang.String`
- parameter: `password`, type: `java.lang.String`

Description: Create proxy information with optional credentials and no whitelist.
parameter: typestr: proxy type string
parameter: hostname: proxy host name
parameter: port: proxy port
parameter: user: optional proxy user name
parameter: password: optional proxy password

## Constructor: NetProxyInfo
- parameter: `typestr`, type: `java.lang.String`
- parameter: `hostname`, type: `java.lang.String`
- parameter: `port`, type: `int`
- parameter: `user`, type: `java.lang.String`
- parameter: `password`, type: `java.lang.String`
- parameter: `rawWhitelist`, type: `java.lang.String`

Description: Create proxy information.
parameter: typestr: proxy type string
parameter: hostname: proxy host name
parameter: port: proxy port
parameter: user: optional proxy user name
parameter: password: optional proxy password
parameter: rawWhitelist: optional comma\-separated whitelist patterns

## Static Field: INDEX_DIRECT
Type: `int`

Constant value: `0`
Description: Proxy type index for direct connections.

## Static Field: INDEX_HTTP
Type: `int`

Constant value: `1`
Description: Proxy type index for HTTP proxies.

## Static Field: INDEX_SOCKS
Type: `int`

Constant value: `2`
Description: Proxy type index for SOCKS proxies.

## Static Field: TYPE_DIRECT
Type: `java.lang.String`

Constant value: `direct`
Description: Proxy type string for direct connections.

## Static Field: TYPE_HTTP
Type: `java.lang.String`

Constant value: `http`
Description: Proxy type string for HTTP proxies.

## Static Field: TYPE_SOCKS
Type: `java.lang.String`

Constant value: `socks`
Description: Proxy type string for SOCKS proxies.

## Method: equals
- parameter: `obj`, type: `java.lang.Object`
- return type: `boolean`


## Method: getAuthenticator
- return type: `okhttp3.Authenticator`

Description: Get an OkHttp proxy authenticator.
return: an authenticator, or null if no credentials are available

## Method: getHostname
- return type: `java.lang.String`

Description: Get the effective proxy host name.
return: the host name, or null for direct connections

## Method: getPassword
- return type: `java.lang.String`

Description: Get the effective proxy password.
return: the password, or null

## Method: getPort
- return type: `int`

Description: Get the effective proxy port.
return: the proxy port, or 0 for direct connections

## Method: getProxy
- return type: `java.net.Proxy`

Description: Get the Java proxy object.
return: the proxy object

## Method: getRecordedHostname
- return type: `java.lang.String`

Description: Get the originally recorded host name.
return: the recorded host name, or null

## Method: getRecordedPassword
- return type: `java.lang.String`

Description: Get the originally recorded password.
return: the recorded password, or null

## Method: getRecordedPort
- return type: `int`

Description: Get the originally recorded port.
return: the recorded port

## Method: getRecordedUser
- return type: `java.lang.String`

Description: Get the originally recorded user name.
return: the recorded user name, or null

## Method: getRecordedWhitelist
- return type: `java.lang.String`

Description: Get the originally recorded whitelist.
return: the recorded whitelist, or null

## Method: getType
- return type: `java.lang.String`

Description: Get the proxy type string.
return: one of the `TYPE_*` constants

## Method: getTypeIndex
- return type: `int`

Description: Get the proxy type index.
return: one of the `INDEX_*` constants

## Method: getUser
- return type: `java.lang.String`

Description: Get the effective proxy user name.
return: the user name, or null

## Method: getWhitelist
- return type: `java.lang.String`

Description: Get the effective whitelist.
return: the comma\-separated whitelist, or null

## Method: hasCredentials
- return type: `boolean`

Description: Determine whether proxy credentials are available.
return: true if a user name is available

## Method: hashCode
- return type: `int`


## Method: isProxy
- return type: `boolean`

Description: Determine whether this object describes a real proxy.
return: true for HTTP or SOCKS proxy types

## Method: isWhitelisted
- parameter: `url`, type: `java.lang.String`
- return type: `boolean`

Description: Determine whether a URL matches the proxy whitelist.
parameter: url: URL to test
return: true if the URL host is whitelisted

## Method: toString
- return type: `java.lang.String`


## Static Method: getProxyTypeFromIndex
- parameter: `index`, type: `int`
- return type: `java.lang.String`

Description: Convert a proxy type index to its type string.
parameter: index: proxy type index
return: the matching type string, or [#TYPE_DIRECT](#TYPE_DIRECT) for an invalid index

## Static Method: getProxyTypes
- return type: `java.util.List<java.lang.String>`

Description: Get supported proxy type strings.
return: supported proxy type strings

## Static Method: getProxyTypesWithDescriptions
- return type: `java.util.List<java.lang.String>`

Description: Get user\-facing descriptions of supported proxy types.
return: supported proxy type descriptions

## Static Method: parse
- parameter: `s`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.util.net.NetProxyInfo`

Description: Parse proxy information from its string representation.
parameter: s: serialized proxy information
return: a proxy information object, or null if parsing failed

