Class: Java::NetSfEhcache::Element

Inherits:
Object
  • Object
show all
Defined in:
lib/ehcache/element.rb

Overview

Enhance net.sf.ehcache.Element with a more Rubyesque API.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.create(key, value, options = {}) ⇒ Object



3
4
5
6
7
8
9
10
# File 'lib/ehcache/element.rb', line 3

def self.create(key, value, options = {})
  result = self.new(key, value)
  options.each do |key, value|
    setter = "#{key}=".to_sym
    result.send(setter, value) if result.respond_to?(setter)
  end
  result
end

Instance Method Details

#element_valueObject



12
# File 'lib/ehcache/element.rb', line 12

alias element_value value

#expires_in=(seconds) ⇒ Object Also known as: expiresIn=



31
32
33
# File 'lib/ehcache/element.rb', line 31

def expires_in=(seconds)
  setTimeToLive(seconds.to_i)
end

#valueObject

Wrap the Element#value method to unmarshal Ruby objects if necessary.



15
16
17
18
19
20
21
22
# File 'lib/ehcache/element.rb', line 15

def value
  val = element_value
  if val.kind_of?(Java::NetSfEhcache::MarshaledRubyObject)
    Marshal.load(String.from_java_bytes(val.bytes))
  else
    val
  end
end