OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-dev/] [fsf-gcc-snapshot-1-mar-12/] [or1k-gcc/] [libjava/] [classpath/] [java/] [net/] [Proxy.java] - Diff between revs 771 and 783

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 771 Rev 783
/* Proxy.java -- Represends a proxy for a network connection
/* Proxy.java -- Represends a proxy for a network connection
   Copyright (C) 2006, 2007  Free Software Foundation, Inc.
   Copyright (C) 2006, 2007  Free Software Foundation, Inc.
 
 
This file is part of GNU Classpath.
This file is part of GNU Classpath.
 
 
GNU Classpath is free software; you can redistribute it and/or modify
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
the Free Software Foundation; either version 2, or (at your option)
any later version.
any later version.
 
 
GNU Classpath is distributed in the hope that it will be useful, but
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.
General Public License for more details.
 
 
You should have received a copy of the GNU General Public License
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING.  If not, write to the
along with GNU Classpath; see the file COPYING.  If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
02110-1301 USA.
 
 
Linking this library statically or dynamically with other modules is
Linking this library statically or dynamically with other modules is
making a combined work based on this library.  Thus, the terms and
making a combined work based on this library.  Thus, the terms and
conditions of the GNU General Public License cover the whole
conditions of the GNU General Public License cover the whole
combination.
combination.
 
 
As a special exception, the copyright holders of this library give you
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
independent module, the terms and conditions of the license of that
module.  An independent module is a module which is not derived from
module.  An independent module is a module which is not derived from
or based on this library.  If you modify this library, you may extend
or based on this library.  If you modify this library, you may extend
this exception to your version of the library, but you are not
this exception to your version of the library, but you are not
obligated to do so.  If you do not wish to do so, delete this
obligated to do so.  If you do not wish to do so, delete this
exception statement from your version. */
exception statement from your version. */
 
 
package java.net;
package java.net;
 
 
 
 
/**
/**
 * Defines a proxy setting. This setting contains a type (https, socks,
 * Defines a proxy setting. This setting contains a type (https, socks,
 * direct) and a socket address.
 * direct) and a socket address.
 *
 *
 * @since 1.5
 * @since 1.5
 */
 */
public class Proxy
public class Proxy
{
{
  /**
  /**
   * Represents the proxy type.
   * Represents the proxy type.
   */
   */
  public enum Type
  public enum Type
  {
  {
    DIRECT, HTTP, SOCKS;
    DIRECT, HTTP, SOCKS;
 
 
    /**
    /**
     * For compatability with Sun's JDK
     * For compatability with Sun's JDK
     */
     */
    private static final long serialVersionUID = -2231209257930100533L;
    private static final long serialVersionUID = -2231209257930100533L;
  }
  }
 
 
  public static final Proxy NO_PROXY = new Proxy(Type.DIRECT, null);
  public static final Proxy NO_PROXY = new Proxy(Type.DIRECT, null);
 
 
  private Type type;
  private Type type;
  private SocketAddress address;
  private SocketAddress address;
 
 
  /**
  /**
   * Creates a new <code>Proxy</code> object.
   * Creates a new <code>Proxy</code> object.
   *
   *
   * @param type The type for this proxy
   * @param type The type for this proxy
   * @param address The address of this proxy
   * @param address The address of this proxy
   */
   */
  public Proxy(Type type, SocketAddress address)
  public Proxy(Type type, SocketAddress address)
  {
  {
    this.type = type;
    this.type = type;
    this.address = address;
    this.address = address;
  }
  }
 
 
  /**
  /**
   * Returns the socket address for this proxy object.
   * Returns the socket address for this proxy object.
   *
   *
   * @return the socket address
   * @return the socket address
   */
   */
  public SocketAddress address()
  public SocketAddress address()
  {
  {
    return address;
    return address;
  }
  }
 
 
  /**
  /**
   * Returns the of this proxy instance.
   * Returns the of this proxy instance.
   *
   *
   * @return the type
   * @return the type
   *
   *
   * @see Type
   * @see Type
   */
   */
  public Type type()
  public Type type()
  {
  {
    return type;
    return type;
  }
  }
 
 
  /**
  /**
   * Compares the given object with this object.
   * Compares the given object with this object.
   *
   *
   * @return <code>true</code> if both objects or equals,
   * @return <code>true</code> if both objects or equals,
   * <code>false</code> otherwise.
   * <code>false</code> otherwise.
   */
   */
  public final boolean equals(Object obj)
  public final boolean equals(Object obj)
  {
  {
    if (! (obj instanceof Proxy))
    if (! (obj instanceof Proxy))
      return false;
      return false;
 
 
    Proxy tmp = (Proxy) obj;
    Proxy tmp = (Proxy) obj;
 
 
    return (type.equals(tmp.type)
    return (type.equals(tmp.type)
            && (address == null ? tmp.address == null
            && (address == null ? tmp.address == null
                : address.equals(tmp.address)));
                : address.equals(tmp.address)));
  }
  }
 
 
  /**
  /**
   * Returns the hashcode for this <code>Proxy</code> object.
   * Returns the hashcode for this <code>Proxy</code> object.
   *
   *
   * @return the hashcode
   * @return the hashcode
   */
   */
  public final int hashCode()
  public final int hashCode()
  {
  {
    return type.hashCode() ^ (address == null ? 0 : address.hashCode());
    return type.hashCode() ^ (address == null ? 0 : address.hashCode());
  }
  }
 
 
  /**
  /**
   * Returns a string representation of this <code>Proxy</code> object.
   * Returns a string representation of this <code>Proxy</code> object.
   *
   *
   * @return the string
   * @return the string
   */
   */
  public String toString()
  public String toString()
  {
  {
    return type.toString() + (address == null ? ""
    return type.toString() + (address == null ? ""
                              : (":" + address.toString()));
                              : (":" + address.toString()));
  }
  }
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.