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