Class: TorqueBox::ServiceRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/torquebox/service_registry.rb

Class Method Summary collapse

Class Method Details

.[](name) ⇒ Object

blocks are not allowed on the method named :[]



33
34
35
# File 'lib/torquebox/service_registry.rb', line 33

def self.[](name)
  self.lookup(name)
end

.blocksObject



53
54
55
# File 'lib/torquebox/service_registry.rb', line 53

def self.blocks
  @blocks ||= Hash.new{|h, k| h[k] = []}
end

.lookup(name, &block) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/torquebox/service_registry.rb', line 37

def self.lookup(name, &block)
  if registry.nil?
    self.blocks[name] << block
    nil
  else
    name = TorqueBox::ServiceRegistry.service_name_for( name ) if name.is_a? String
    entry = registry.getService( name )
    return nil unless entry
    if block_given?
      yield entry.getValue()
    else
      entry.getValue()
    end
  end
end

.registryObject



61
62
63
# File 'lib/torquebox/service_registry.rb', line 61

def self.registry
  @service_registry
end

.service_name_for(name) ⇒ Object



57
58
59
# File 'lib/torquebox/service_registry.rb', line 57

def self.service_name_for( name )
  Java::org.jboss.msc.service.ServiceName.parse( name )
end

.service_registry=(service_registry) ⇒ Object



22
23
24
25
26
27
28
29
30
# File 'lib/torquebox/service_registry.rb', line 22

def self.service_registry=(service_registry)
  @service_registry = service_registry 
  blocks.keys.each do |name|
    blocks.delete(name).each do |block|
      lookup name, &block
    end
  end
  registry
end