Class: Seasar::Container::ComponentDef
- Inherits:
-
Object
- Object
- Seasar::Container::ComponentDef
- Defined in:
- lib/seasar/container/component-def.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#autobinding_def ⇒ Object
Returns the value of attribute autobinding_def.
-
#component_class ⇒ Object
Returns the value of attribute component_class.
-
#component_name ⇒ Object
Returns the value of attribute component_name.
-
#container ⇒ Object
Returns the value of attribute container.
-
#instance_def ⇒ Object
Returns the value of attribute instance_def.
-
#onetime_proc ⇒ Object
Returns the value of attribute onetime_proc.
-
#procedure ⇒ Object
Returns the value of attribute procedure.
Instance Method Summary collapse
-
#add_arg_def(arg_def) ⇒ Object
-
args 1.
-
-
#add_aspect_def(aspect_def) ⇒ Object
-
args 1.
-
-
#add_property_def(property_def) ⇒ Object
-
args 1.
-
-
#get_arg_def(index) ⇒ Object
-
args 1.
-
-
#get_arg_def_size ⇒ Object
-
args - none - return - Integer.
-
-
#get_arg_defs ⇒ Object
-
args - none - return - Array.
-
-
#get_aspect_def(index) ⇒ Object
-
args 1.
-
-
#get_aspect_def_size ⇒ Object
-
args - none - return - Integer.
-
-
#get_component ⇒ Object
(also: #component)
-
args - none - return - Object.
-
-
#get_component_deployer ⇒ Object
-
args - none - return - Seasar::Container::Deployer::AbstractComponentDeployer.
-
-
#get_concreate_class ⇒ Object
-
args - none - return - Class.
-
-
#get_property_def(property_name) ⇒ Object
-
args 1.
-
-
#get_property_def_size ⇒ Object
-
args - none - return - Integer.
-
-
#get_property_defs ⇒ Object
-
args - none - return - Array.
-
-
#has_property_def(property_name) ⇒ Object
-
args 1.
-
-
#initialize(component_class, component_name = nil, &procedure) ⇒ ComponentDef
constructor
-
args 1.
-
Constructor Details
#initialize(component_class, component_name = nil, &procedure) ⇒ ComponentDef
-
args
-
Class component_class
-
String|Symbol component_name
-
Proc procedure
-
27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/seasar/container/component-def.rb', line 27 def initialize(component_class, component_name = nil, &procedure) @procedure = procedure @onetime_proc = nil @container = nil @component_class = component_class @concreate_class = nil @component_name = component_name.nil? ? Seasar::Util::ClassUtil.ub_name(component_class) : component_name @component_deployer = nil @arg_defs = [] @property_defs = {} @aspect_defs = [] @instance_def = Seasar::Container::Deployer::InstanceDefFactory.get_instance_def(InstanceDef::SINGLETON_NAME) @autobinding_def = Seasar::Container::Assembler::AutoBindingDefFactory.get_autobinding_def(AutoBindingDef::AUTO_NAME) end |
Instance Attribute Details
#autobinding_def ⇒ Object
Returns the value of attribute autobinding_def.
41 42 43 |
# File 'lib/seasar/container/component-def.rb', line 41 def autobinding_def @autobinding_def end |
#component_class ⇒ Object
Returns the value of attribute component_class.
41 42 43 |
# File 'lib/seasar/container/component-def.rb', line 41 def component_class @component_class end |
#component_name ⇒ Object
Returns the value of attribute component_name.
41 42 43 |
# File 'lib/seasar/container/component-def.rb', line 41 def component_name @component_name end |
#container ⇒ Object
Returns the value of attribute container.
41 42 43 |
# File 'lib/seasar/container/component-def.rb', line 41 def container @container end |
#instance_def ⇒ Object
Returns the value of attribute instance_def.
41 42 43 |
# File 'lib/seasar/container/component-def.rb', line 41 def instance_def @instance_def end |
#onetime_proc ⇒ Object
Returns the value of attribute onetime_proc.
42 43 44 |
# File 'lib/seasar/container/component-def.rb', line 42 def onetime_proc @onetime_proc end |
#procedure ⇒ Object
Returns the value of attribute procedure.
42 43 44 |
# File 'lib/seasar/container/component-def.rb', line 42 def procedure @procedure end |
Instance Method Details
#add_arg_def(arg_def) ⇒ Object
-
args
-
Seasar::Container::ArgDef arg_def
-
-
return
-
none
-
94 95 96 97 98 99 |
# File 'lib/seasar/container/component-def.rb', line 94 def add_arg_def(arg_def) if arg_def.container.nil? arg_def.container = @container end @arg_defs << arg_def end |
#add_aspect_def(aspect_def) ⇒ Object
-
args
-
Seasar::Container::AspectDef aspect_def
-
-
return
-
none
-
190 191 192 193 194 195 196 |
# File 'lib/seasar/container/component-def.rb', line 190 def add_aspect_def(aspect_def) @concreate_class = nil if aspect_def.container.nil? aspect_def.container = @container end @aspect_defs << aspect_def end |
#add_property_def(property_def) ⇒ Object
-
args
-
Seasar::Container::PropertyDef property_def
-
-
return
-
none
-
157 158 159 160 161 162 |
# File 'lib/seasar/container/component-def.rb', line 157 def add_property_def(property_def) if property_def.container.nil? property_def.container = @container end @property_defs[property_def.property_name] = property_def end |
#get_arg_def(index) ⇒ Object
-
args
-
Integer index
-
-
return
-
Seasar::Container::ArgDef
-
74 75 76 |
# File 'lib/seasar/container/component-def.rb', line 74 def get_arg_def(index) return @arg_defs[index] end |
#get_arg_def_size ⇒ Object
-
args
-
none
-
-
return
-
Integer
-
84 85 86 |
# File 'lib/seasar/container/component-def.rb', line 84 def get_arg_def_size return @arg_defs.length end |
#get_arg_defs ⇒ Object
-
args
-
none
-
-
return
-
Array
-
107 108 109 |
# File 'lib/seasar/container/component-def.rb', line 107 def get_arg_defs return @arg_defs end |
#get_aspect_def(index) ⇒ Object
-
args
-
Integer index
-
-
return
-
Seasar::Container::AspectDef
-
170 171 172 |
# File 'lib/seasar/container/component-def.rb', line 170 def get_aspect_def(index) return @aspect_defs[index] end |
#get_aspect_def_size ⇒ Object
-
args
-
none
-
-
return
-
Integer
-
180 181 182 |
# File 'lib/seasar/container/component-def.rb', line 180 def get_aspect_def_size() return @aspect_defs.length end |
#get_component ⇒ Object Also known as: component
-
args
-
none
-
-
return
-
Object
-
50 51 52 |
# File 'lib/seasar/container/component-def.rb', line 50 def get_component return self.get_component_deployer.deploy end |
#get_component_deployer ⇒ Object
-
args
-
none
-
-
return
-
Seasar::Container::Deployer::AbstractComponentDeployer
-
204 205 206 207 208 209 |
# File 'lib/seasar/container/component-def.rb', line 204 def get_component_deployer if @component_deployer.nil? @component_deployer = @instance_def.create_component_deployer(self) end return @component_deployer end |
#get_concreate_class ⇒ Object
-
args
-
none
-
-
return
-
Class
-
217 218 219 220 221 222 223 224 225 226 |
# File 'lib/seasar/container/component-def.rb', line 217 def get_concreate_class if @aspect_defs.length == 0 return @component_class end if not @concreate_class.nil? return @concreate_class end @concreate_class = Seasar::Aop::S2AopFactory.create(@component_class, @aspect_defs.map {|aspect_def| aspect_def.aspect}) return @concreate_class end |
#get_property_def(property_name) ⇒ Object
-
args
-
String property_name
-
-
return
-
Seasar::Container::PropertyDef
-
127 128 129 |
# File 'lib/seasar/container/component-def.rb', line 127 def get_property_def(property_name) return @property_defs[property_name] end |
#get_property_def_size ⇒ Object
-
args
-
none
-
-
return
-
Integer
-
147 148 149 |
# File 'lib/seasar/container/component-def.rb', line 147 def get_property_def_size return @property_defs.length end |
#get_property_defs ⇒ Object
-
args
-
none
-
-
return
-
Array
-
137 138 139 |
# File 'lib/seasar/container/component-def.rb', line 137 def get_property_defs return @property_defs end |
#has_property_def(property_name) ⇒ Object
-
args
-
Symbol property_name
-
-
return
-
Boolean
-
117 118 119 |
# File 'lib/seasar/container/component-def.rb', line 117 def has_property_def(property_name) return @property_defs.key?(property_name) end |