Source for gnu.inet.gopher.DirectoryEntry

   1: /*
   2:  * DirectoryEntry.java
   3:  * Copyright (C) 2003 The Free Software Foundation
   4:  * 
   5:  * This file is part of GNU inetlib, a library.
   6:  * 
   7:  * GNU inetlib is free software; you can redistribute it and/or modify
   8:  * it under the terms of the GNU General Public License as published by
   9:  * the Free Software Foundation; either version 2 of the License, or
  10:  * (at your option) any later version.
  11:  * 
  12:  * GNU inetlib is distributed in the hope that it will be useful,
  13:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15:  * GNU General Public License for more details.
  16:  * 
  17:  * You should have received a copy of the GNU General Public License
  18:  * along with this library; if not, write to the Free Software
  19:  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  20:  *
  21:  * Linking this library statically or dynamically with other modules is
  22:  * making a combined work based on this library.  Thus, the terms and
  23:  * conditions of the GNU General Public License cover the whole
  24:  * combination.
  25:  *
  26:  * As a special exception, the copyright holders of this library give you
  27:  * permission to link this library with independent modules to produce an
  28:  * executable, regardless of the license terms of these independent
  29:  * modules, and to copy and distribute the resulting executable under
  30:  * terms of your choice, provided that you also meet, for each linked
  31:  * independent module, the terms and conditions of the license of that
  32:  * module.  An independent module is a module which is not derived from
  33:  * or based on this library.  If you modify this library, you may extend
  34:  * this exception to your version of the library, but you are not
  35:  * obliged to do so.  If you do not wish to do so, delete this
  36:  * exception statement from your version.
  37:  */
  38: 
  39: package gnu.inet.gopher;
  40: 
  41: import java.io.InputStream;
  42: import java.io.IOException;
  43: import java.util.Iterator;
  44: import java.util.NoSuchElementException;
  45: 
  46: /**
  47:  * A gopher directory entry.
  48:  *
  49:  * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a>
  50:  */
  51: public final class DirectoryEntry
  52: {
  53: 
  54:   /**
  55:    * Item is a file.
  56:    */
  57:   public static final int FILE = 0x30;
  58: 
  59:   /**
  60:    * Item is a directory.
  61:    */
  62:   public static final int DIRECTORY = 0x31;
  63: 
  64:   /**
  65:    * Item is a CSO phone-book server.
  66:    */
  67:   public static final int CSO_PHONE_BOOK = 0x32;
  68: 
  69:   /**
  70:    * Error.
  71:    */
  72:   public static final int ERROR = 0x33;
  73: 
  74:   /**
  75:    * Item is a BinHex Macintosh file.
  76:    */
  77:   public static final int BINHEX = 0x34;
  78: 
  79:   /**
  80:    * Item is a DOS binary archive of some sort.
  81:    */
  82:   public static final int DOS_ARCHIVE = 0x35;
  83: 
  84:   /**
  85:    * Item is a UNIX uuencoded file.
  86:    */
  87:   public static final int UUENCODED = 0x36;
  88: 
  89:   /**
  90:    * Item is an Index-Search server.
  91:    */
  92:   public static final int INDEX_SEARCH = 0x37;
  93: 
  94:   /**
  95:    * Item points to a text-based Telnet session.
  96:    */
  97:   public static final int TELNET = 0x38;
  98: 
  99:   /**
 100:    * Item is a binary file.
 101:    */
 102:   public static final int BINARY = 0x39;
 103: 
 104:   /**
 105:    * Item is a redundant server.
 106:    */
 107:   public static final int REDUNDANT = 0x2b;
 108: 
 109:   /**
 110:    * Item points to a text-based tn3270 session.
 111:    */
 112:   public static final int TN3270 = 0x54;
 113: 
 114:   /**
 115:    * Item is a GIF format graphics file.
 116:    */
 117:   public static final int GIF = 0x67;
 118: 
 119:   /**
 120:    * Item is some kind of image file.
 121:    */
 122:   public static final int IMAGE = 0x49;
 123: 
 124:   final int type;
 125:   final String title;
 126:   final String selector;
 127:   final String hostname;
 128:   final int port;
 129: 
 130:   DirectoryEntry(int type, String title, String selector, String hostname,
 131:                  int port)
 132:   {
 133:     this.type = type;
 134:     this.title = title;
 135:     this.selector = selector;
 136:     this.hostname = hostname;
 137:     this.port = port;
 138:   }
 139: 
 140:   /**
 141:    * Returns the type of this entry.
 142:    */
 143:   public int getType()
 144:   {
 145:     return type;
 146:   }
 147:   
 148:   /**
 149:    * Returns the title for this entry.
 150:    */
 151:   public String getTitle()
 152:   {
 153:     return title;
 154:   }
 155:   
 156:   /**
 157:    * Returns the selector for this entry.
 158:    * This is used to retrieve the content for the entry.
 159:    */
 160:   public String getSelector()
 161:   {
 162:     return selector;
 163:   }
 164:   
 165:   /**
 166:    * Returns the hostname for the content of this entry.
 167:    */
 168:   public String getHostname()
 169:   {
 170:     return hostname;
 171:   }
 172:   
 173:   /**
 174:    * Returns the port on which the content for this entry can be retrieved.
 175:    */
 176:   public int getPort()
 177:   {
 178:     return port;
 179:   }
 180:   
 181: }