lib/ehcache/element.rb in jruby-ehcache-0.5.0 vs lib/ehcache/element.rb in jruby-ehcache-1.0.0

- old
+ new

@@ -1,27 +1,17 @@ -module Ehcache - class Element - attr_accessor :key, :value - - def initialize(key, value, options = {}) - @key = key - @value = value - @ttl = options[:ttl] || nil - - element = Ehcache::Java::Element.new(key, value) - element.set_time_to_live(@ttl) if @ttl - @proxy = element +# Enhance net.sf.ehcache.Element with a more Rubyesque API. +class Java::NetSfEhcache::Element + 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 - def ttl - @ttl = @proxy.get_time_to_live - end + alias tti getTimeToIdle + alias ttl getTimeToLive - def tti - @tti = @proxy.get_time_to_idle - end - - def proxy - @proxy - end - end + alias tti= setTimeToIdle + alias ttl= setTimeToLive end