class WirisPlugin::HashCache

Attributes

maxSize[RW]
sortedKeys[RW]

Public Class Methods

new(maxSize) click to toggle source
Calls superclass method
# File lib/com/wiris/util/type/HashCache.rb, line 8
def initialize(maxSize)
    super()
    self.maxSize = maxSize
    self.sortedKeys = Array.new()
end

Public Instance Methods

getMaxSize() click to toggle source
# File lib/com/wiris/util/type/HashCache.rb, line 13
def getMaxSize()
    return self.maxSize
end
getSortedKeys() click to toggle source
# File lib/com/wiris/util/type/HashCache.rb, line 19
def getSortedKeys()
    return self.sortedKeys
end
keys() click to toggle source
# File lib/com/wiris/util/type/HashCache.rb, line 28
def keys()
    return self.sortedKeys::iterator()
end
remove(key) click to toggle source
Calls superclass method
# File lib/com/wiris/util/type/HashCache.rb, line 22
def remove(key)
    if self.sortedKeys::remove(key)
        return super(key)
    end
    return false
end
set(key, value) click to toggle source
Calls superclass method
# File lib/com/wiris/util/type/HashCache.rb, line 31
def set(key, value)
    if (self.sortedKeys != nil) && (self.sortedKeys::length() >= self.maxSize)
        removed = self.sortedKeys::_(0)
        if self.sortedKeys::remove(removed)
            super(removed)
        end
    end
    self.sortedKeys::push(key)
    super(key,value)
end
setMaxSize(maxSize) click to toggle source
# File lib/com/wiris/util/type/HashCache.rb, line 16
def setMaxSize(maxSize)
    self.maxSize = maxSize
end