1 21 package org.jacorb.collection.util; 22 23 import java.util.*; 24 25 public class Cach{ 26 27 class Node { 28 Object key; 29 Object element; 30 Node( Object key, Object element ){ 31 this.key =key; 32 this.element = element; 33 } 34 } 35 36 private Vector data; 37 private int capacity; 38 39 public Cach( int capacity ){ 40 data = new Vector( capacity ); 41 this.capacity = capacity; 42 } 43 44 public Object getElement( Object key ){ 45 Enumeration enumeration = data.elements(); 46 while( enumeration.hasMoreElements() ){ 47 Node n =(Node)enumeration.nextElement(); 48 if( n.key == key ){ 49 data.removeElement( n ); 50 data.insertElementAt( n, 0 ); 51 return n.element; 52 } 53 } 54 return null; 55 } 56 57 public void putElement( Object key, Object element ){ 58 if( data.size() >= capacity ){ 59 data.removeElementAt( data.size()-1 ); 60 } 61 Node n = new Node( key, element ); 62 data.insertElementAt( n, 0 ); 63 } 64 65 public void clear(){ 66 data.removeAllElements(); 67 } 68 69 } 70 71 72 73 74 75 | Popular Tags |