Class: Glimmer::Swing::ComponentListenerProxy

Inherits:
Object
  • Object
show all
Defined in:
lib/glimmer/swing/component_listener_proxy.rb

Overview

Proxy for component listeners

Follows the Proxy Design Pattern

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(component: nil, listener:, component_add_listener_method: nil, listener_class: nil, listener_method: nil) ⇒ ComponentListenerProxy

Returns a new instance of ComponentListenerProxy.



30
31
32
33
34
35
36
# File 'lib/glimmer/swing/component_listener_proxy.rb', line 30

def initialize(component: nil, listener:, component_add_listener_method: nil, listener_class: nil, listener_method: nil)
  @component = component
  @listener = listener
  @component_add_listener_method = component_add_listener_method
  @listener_class = listener_class
  @listener_method = listener_method
end

Instance Attribute Details

#componentObject (readonly)

Returns the value of attribute component.



28
29
30
# File 'lib/glimmer/swing/component_listener_proxy.rb', line 28

def component
  @component
end

#component_add_listener_methodObject (readonly)

Returns the value of attribute component_add_listener_method.



28
29
30
# File 'lib/glimmer/swing/component_listener_proxy.rb', line 28

def component_add_listener_method
  @component_add_listener_method
end

#listenerObject (readonly)

Returns the value of attribute listener.



28
29
30
# File 'lib/glimmer/swing/component_listener_proxy.rb', line 28

def listener
  @listener
end

#listener_classObject (readonly)

Returns the value of attribute listener_class.



28
29
30
# File 'lib/glimmer/swing/component_listener_proxy.rb', line 28

def listener_class
  @listener_class
end

#listener_methodObject (readonly)

Returns the value of attribute listener_method.



28
29
30
# File 'lib/glimmer/swing/component_listener_proxy.rb', line 28

def listener_method
  @listener_method
end

Instance Method Details

#component_remove_listener_methodObject



38
39
40
# File 'lib/glimmer/swing/component_listener_proxy.rb', line 38

def component_remove_listener_method
  @component_add_listener_method.sub('add', 'remove')
end

#deregisterObject Also known as: unregister



42
43
44
# File 'lib/glimmer/swing/component_listener_proxy.rb', line 42

def deregister
  @component.send(component_remove_listener_method, @listener)
end