home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / win95 / sieciowe / hotja32.lzh / hotjava / classsrc / java / tools / mem4 / dict.java next >
Text File  |  1995-08-11  |  2KB  |  81 lines

  1. /*
  2.  * @(#)Dict.java    1.1 95/05/11  Mary Campione
  3.  *
  4.  * Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved.
  5.  *
  6.  * Permission to use, copy, modify, and distribute this software
  7.  * and its documentation for NON-COMMERCIAL purposes and without
  8.  * fee is hereby granted provided that this copyright notice
  9.  * appears in all copies. Please refer to the file "copyright.html"
  10.  * for further important copyright and licensing information.
  11.  *
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
  13.  * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  14.  * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  15.  * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
  16.  * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  17.  * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
  18.  */
  19.  
  20. package java.tools.mem4;
  21.  
  22. class Dict {
  23.  
  24.     static final int NOTFOUND = -1;
  25.     static final int MAXENTRIES = 50;
  26.  
  27.     String keyArray[];
  28.     String valueArray[];
  29.     int numEntries;
  30.  
  31.     Dict() {
  32.         keyArray = new String[MAXENTRIES];
  33.         valueArray = new String[MAXENTRIES];
  34.         numEntries = 0;
  35.     }
  36.  
  37.     boolean addPair(String key, String value) {
  38.     int loc;
  39.     if ((loc = locationOf(key)) == NOTFOUND)
  40.         if (numEntries + 1 < MAXENTRIES) {
  41.             keyArray[numEntries] = key;
  42.             valueArray[numEntries] = value;
  43.             numEntries++;
  44.         return true;
  45.         } else {
  46.         return false;
  47.         }
  48.     else {
  49.         return changeValue(loc, value);
  50.     }
  51.     }
  52.  
  53.     String valueOf(String key) {
  54.     int i;
  55.     for (i = 0; i < numEntries; i++) {
  56.         if (key.equals(keyArray[i]))
  57.         return valueArray[i];
  58.     }
  59.     return key;
  60.     }
  61.  
  62.     int locationOf(String key) {
  63.     int i;
  64.     for (i = 0; i < numEntries; i++) {
  65.         if (key.equals(keyArray[i]))
  66.         return i;
  67.     }
  68.     return NOTFOUND;
  69.     }
  70.  
  71.     boolean changeValue(int loc, String newvalue) {
  72.     if (loc >= 0 && loc < numEntries) {
  73.         valueArray[loc] = newvalue;
  74.         return true;
  75.     } else {
  76.         return false;
  77.     }
  78.     }
  79.  
  80. }
  81.