/[classpath]/classpath/java/net/Inet4Address.java
ViewVC logotype

Diff of /classpath/java/net/Inet4Address.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.10.2.2 by gnu_andrew, Sat Jan 15 17:01:55 2005 UTC revision 1.10.2.3 by gnu_andrew, Sun Jan 16 15:15:12 2005 UTC
# Line 1  Line 1 
1  /* Inet4Address.java --  /* Inet4Address.java --
2     Copyright (C) 2002, 2003, 2004  Free Software Foundation, Inc.     Copyright (C) 2002, 2003, 2004, 2005  Free Software Foundation, Inc.
3    
4  This file is part of GNU Classpath.  This file is part of GNU Classpath.
5    
# Line 39  exception statement from your version. * Line 39  exception statement from your version. *
39  package java.net;  package java.net;
40    
41  import java.io.ObjectStreamException;  import java.io.ObjectStreamException;
 import java.util.Arrays;  
42    
43  /*  /*
44   * Written using on-line Java Platform 1.4 API Specification and   * Written using on-line Java Platform 1.4 API Specification and
# Line 85  public final class Inet4Address extends Line 84  public final class Inet4Address extends
84     */     */
85    public boolean isMulticastAddress()    public boolean isMulticastAddress()
86    {    {
87      return (addr[0] & 0xF0) == 0xE0;      return super.isMulticastAddress();
88    }    }
89    
90    /**    /**
# Line 93  public final class Inet4Address extends Line 92  public final class Inet4Address extends
92     */     */
93    public boolean isLoopbackAddress()    public boolean isLoopbackAddress()
94    {    {
95      return addr[0] == 0x7F;      return super.isLoopbackAddress();
96    }    }
97    
98    /**    /**
# Line 103  public final class Inet4Address extends Line 102  public final class Inet4Address extends
102     */     */
103    public boolean isAnyLocalAddress()    public boolean isAnyLocalAddress()
104    {    {
105      byte[] anylocal = { 0, 0, 0, 0 };      return super.isAnyLocalAddress();
   
     return Arrays.equals(addr, anylocal);  
106    }    }
107    
108    /**    /**
# Line 115  public final class Inet4Address extends Line 112  public final class Inet4Address extends
112     */     */
113    public boolean isLinkLocalAddress()    public boolean isLinkLocalAddress()
114    {    {
115      // XXX: This seems to not exist with IPv4 addresses      return super.isLinkLocalAddress();
     return false;  
116    }    }
117    
118    /**    /**
# Line 126  public final class Inet4Address extends Line 122  public final class Inet4Address extends
122     */     */
123    public boolean isSiteLocalAddress()    public boolean isSiteLocalAddress()
124    {    {
125      // 10.0.0.0/8      return super.isSiteLocalAddress();
     if (addr[0] == 0x0A)  
       return true;  
   
     // XXX: Suns JDK 1.4.1 (on Linux) seems to have a bug here:  
     // it says 172.16.0.0 - 172.255.255.255 are site local addresses  
     //  
     // 172.16.0.0/12  
     if (addr[0] == 0xAC && (addr[1] & 0xF0) == 0x01)  
       return true;  
   
     // 192.168.0.0/16  
     if (addr[0] == 0xC0 && addr[1] == 0xA8)  
       return true;  
   
     // XXX: Do we need to check more addresses here ?  
     return false;  
126    }    }
127    
128    /**    /**
# Line 152  public final class Inet4Address extends Line 132  public final class Inet4Address extends
132     */     */
133    public boolean isMCGlobal()    public boolean isMCGlobal()
134    {    {
135      // XXX: This seems to net exist with IPv4 addresses      return super.isMCGlobal();
     return false;  
136    }    }
137    
138    /**    /**
# Line 163  public final class Inet4Address extends Line 142  public final class Inet4Address extends
142     */     */
143    public boolean isMCNodeLocal()    public boolean isMCNodeLocal()
144    {    {
145      // XXX: This seems to net exist with IPv4 addresses      return isMCNodeLocal();
     return false;  
146    }    }
147    
148    /**    /**
# Line 174  public final class Inet4Address extends Line 152  public final class Inet4Address extends
152     */     */
153    public boolean isMCLinkLocal()    public boolean isMCLinkLocal()
154    {    {
155      if (! isMulticastAddress())      return super.isMCLinkLocal();
       return false;  
   
     return (addr[0] == 0xE0) && (addr[1] == 0x00) && (addr[2] == 0x00);  
156    }    }
157    
158    /**    /**
# Line 187  public final class Inet4Address extends Line 162  public final class Inet4Address extends
162     */     */
163    public boolean isMCSiteLocal()    public boolean isMCSiteLocal()
164    {    {
165      // XXX: This seems to net exist with IPv4 addresses      return super.isMCSiteLocal();
     return false;  
166    }    }
167    
168    /**    /**
# Line 198  public final class Inet4Address extends Line 172  public final class Inet4Address extends
172     */     */
173    public boolean isMCOrgLocal()    public boolean isMCOrgLocal()
174    {    {
175      // XXX: This seems to net exist with IPv4 addresses      return isMCOrgLocal();
     return false;  
176    }    }
177    
178    /**    /**
# Line 217  public final class Inet4Address extends Line 190  public final class Inet4Address extends
190     */     */
191    public String getHostAddress()    public String getHostAddress()
192    {    {
193      StringBuffer sbuf = new StringBuffer(40);      return super.getHostAddress();
     int len = addr.length;  
     int i = 0;  
   
     for (;;)  
       {  
         sbuf.append(addr[i] & 0xFF);  
         i++;  
   
         if (i == len)  
           break;  
   
         sbuf.append('.');  
       }  
   
     return sbuf.toString();  
194    }    }
195    
196    /**    /**
# Line 272  public final class Inet4Address extends Line 230  public final class Inet4Address extends
230    
231      return true;      return true;
232    }    }
233  } // class Inet4Address  }

Legend:
Removed from v.1.10.2.2  
changed lines
  Added in v.1.10.2.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26