Class: Seasar::Container::ComponentDef
- Inherits:
-
Object
- Object
- Seasar::Container::ComponentDef
show all
- Defined in:
- lib/seasar/container/component-def.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(component_class, component_name = nil, &block) ⇒ ComponentDef
- args
- Class component_class
- String|Symbol component_name
- Proc block
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
|
#constructor(&block) ⇒ Object
- args
- Proc|nil block
- return
50
51
52
|
# File 'lib/seasar/container/component-def.rb', line 50
def constructor
@constructor
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
|
#destructor(&block) ⇒ Object
- args
- Proc|nil block
- return
63
64
65
|
# File 'lib/seasar/container/component-def.rb', line 63
def destructor
@destructor
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
|
Instance Method Details
#add_arg_def(arg_def) ⇒ Object
- args
- Seasar::Container::ArgDef arg_def
- return
144
145
146
147
148
149
|
# File 'lib/seasar/container/component-def.rb', line 144
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
240
241
242
243
244
245
246
|
# File 'lib/seasar/container/component-def.rb', line 240
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
207
208
209
210
211
212
|
# File 'lib/seasar/container/component-def.rb', line 207
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
|
#destroy ⇒ Object
88
89
90
91
92
|
# File 'lib/seasar/container/component-def.rb', line 88
def destroy
@concreate_class = nil
@onetime_proc = nil
return self.get_component_deployer.destroy
end
|
#get_arg_def(index) ⇒ Object
- args
- Integer index
- return
- Seasar::Container::ArgDef
124
125
126
|
# File 'lib/seasar/container/component-def.rb', line 124
def get_arg_def(index)
return @arg_defs[index]
end
|
#get_arg_def_size ⇒ Object
134
135
136
|
# File 'lib/seasar/container/component-def.rb', line 134
def get_arg_def_size
return @arg_defs.length
end
|
#get_arg_defs ⇒ Object
157
158
159
|
# File 'lib/seasar/container/component-def.rb', line 157
def get_arg_defs
return @arg_defs
end
|
#get_aspect_def(index) ⇒ Object
- args
- Integer index
- return
- Seasar::Container::AspectDef
220
221
222
|
# File 'lib/seasar/container/component-def.rb', line 220
def get_aspect_def(index)
return @aspect_defs[index]
end
|
#get_aspect_def_size ⇒ Object
230
231
232
|
# File 'lib/seasar/container/component-def.rb', line 230
def get_aspect_def_size()
return @aspect_defs.length
end
|
#get_component ⇒ Object
Also known as:
component
100
101
102
|
# File 'lib/seasar/container/component-def.rb', line 100
def get_component
return self.get_component_deployer.deploy
end
|
#get_component_deployer ⇒ Object
- args
- return
- Seasar::Container::Deployer::AbstractComponentDeployer
254
255
256
257
258
259
|
# File 'lib/seasar/container/component-def.rb', line 254
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
267
268
269
270
271
272
273
274
275
276
|
# File 'lib/seasar/container/component-def.rb', line 267
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
177
178
179
|
# File 'lib/seasar/container/component-def.rb', line 177
def get_property_def(property_name)
return @property_defs[property_name]
end
|
#get_property_def_size ⇒ Object
197
198
199
|
# File 'lib/seasar/container/component-def.rb', line 197
def get_property_def_size
return @property_defs.length
end
|
#get_property_defs ⇒ Object
187
188
189
|
# File 'lib/seasar/container/component-def.rb', line 187
def get_property_defs
return @property_defs
end
|
#has_property_def(property_name) ⇒ Object
- args
- Symbol property_name
- return
167
168
169
|
# File 'lib/seasar/container/component-def.rb', line 167
def has_property_def(property_name)
return @property_defs.key?(property_name)
end
|
#init ⇒ Object
76
77
78
79
80
|
# File 'lib/seasar/container/component-def.rb', line 76
def init
@concreate_class = nil
@onetime_proc = nil
return self.get_component_deployer.init
end
|