001    package org.apache.maven.repository;
002    
003    /*
004     * Licensed to the Apache Software Foundation (ASF) under one
005     * or more contributor license agreements.  See the NOTICE file
006     * distributed with this work for additional information
007     * regarding copyright ownership.  The ASF licenses this file
008     * to you under the Apache License, Version 2.0 (the
009     * "License"); you may not use this file except in compliance
010     * with the License.  You may obtain a copy of the License at
011     *
012     *   http://www.apache.org/licenses/LICENSE-2.0
013     *
014     * Unless required by applicable law or agreed to in writing,
015     * software distributed under the License is distributed on an
016     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017     * KIND, either express or implied.  See the License for the
018     * specific language governing permissions and limitations
019     * under the License.
020     */
021    
022    public class Proxy
023    {
024        public static final String PROXY_SOCKS5 = "SOCKS_5";
025    
026        public static final String PROXY_SOCKS4 = "SOCKS4";
027    
028        public static final String PROXY_HTTP = "HTTP";
029    
030        /**
031         * Proxy server host
032         */
033        private String host;
034    
035        /**
036         * Username used to access the proxy server
037         */
038        private String userName;
039    
040        /**
041         * Password associated with the proxy server
042         */
043        private String password;
044    
045        /**
046         * Proxy server port
047         */
048        private int port;
049    
050        /**
051         * Type of the proxy
052         */
053        private String protocol;
054    
055        /**
056         * The non-proxy hosts. Follows Java system property format: <code>*.foo.com|localhost</code>.
057         */
058        private String nonProxyHosts;
059    
060        /**
061         * For NTLM proxies, specifies the NTLM host.
062         */
063        private String ntlmHost;
064    
065        /**
066         * For NTLM proxies, specifies the NTLM domain.
067         */
068        private String ntlmDomain;
069    
070        /**
071         * Return proxy server host name.
072         *
073         * @return proxy server host name
074         */
075        public String getHost()
076        {
077            return host;
078        }
079    
080        /**
081         * Set proxy host name.
082         *
083         * @param host proxy server host name
084         */
085        public void setHost( String host )
086        {
087            this.host = host;
088        }
089    
090        /**
091         * Get user's password used to login to proxy server.
092         *
093         * @return user's password at proxy host
094         */
095        public String getPassword()
096        {
097            return password;
098        }
099    
100        /**
101         * Set the user's password for the proxy server.
102         *
103         * @param password password to use to login to a proxy server
104         */
105        public void setPassword( String password )
106        {
107            this.password = password;
108        }
109    
110        /**
111         * Get the proxy port.
112         *
113         * @return proxy server port
114         */
115        public int getPort()
116        {
117            return port;
118        }
119    
120        /**
121         * Set the proxy port.
122         *
123         * @param port proxy server port
124         */
125        public void setPort( int port )
126        {
127            this.port = port;
128        }
129    
130        /**
131         * Get the proxy username.
132         *
133         * @return username for the proxy server
134         */
135        public String getUserName()
136        {
137            return userName;
138        }
139    
140        /**
141         * Set the proxy username.
142         *
143         * @param userName username for the proxy server
144         */
145        public void setUserName( String userName )
146        {
147            this.userName = userName;
148        }
149    
150        /**
151         * Get the type of the proxy server.
152         *
153         * @return the type of the proxy server
154         */
155        public String getProtocol()
156        {
157            return protocol;
158        }
159    
160        /**
161         * @param type the type of the proxy server like <i>SOCKSv4</i>
162         */
163        public void setProtocol( String protocol )
164        {
165            this.protocol = protocol;
166        }
167    
168        public String getNonProxyHosts()
169        {
170            return nonProxyHosts;
171        }
172    
173        public void setNonProxyHosts( String nonProxyHosts )
174        {
175            this.nonProxyHosts = nonProxyHosts;
176        }
177    
178        public String getNtlmHost()
179        {
180            return ntlmHost;
181        }
182    
183        public void setNtlmHost( String ntlmHost )
184        {
185            this.ntlmHost = ntlmHost;
186        }
187    
188        public void setNtlmDomain( String ntlmDomain )
189        {
190            this.ntlmDomain = ntlmDomain;
191        }
192    
193        public String getNtlmDomain()
194        {
195            return ntlmDomain;
196        }
197    }