Class: Guff::JavaSource::Constructor
Direct Known Subclasses
Method
Instance Method Summary
collapse
#ensure_array
#parameters, #parameters_list, #takes, #taking
#add_annotation, #annotations, #write_annotations_to
#add_javadoc, #javadoc_lines, #write_javadoc_to
#append_throws_clause, #exceptions, #throws
#import
Constructor Details
#initialize(owning_class, name) ⇒ Constructor
Returns a new instance of Constructor.
259
260
261
262
263
|
# File 'lib/guff/java_source.rb', line 259
def initialize(owning_class,name)
@owning_class=owning_class
@name = name
@body = Body.default_body
end
|
Instance Method Details
#add_assignment_for_field_name(body, field_name) ⇒ Object
285
286
287
|
# File 'lib/guff/java_source.rb', line 285
def add_assignment_for_field_name(body,field_name)
body.line("this.#{field_name}=#{field_name};")
end
|
#add_takes_clause_for_field(field_name) ⇒ Object
289
290
291
292
|
# File 'lib/guff/java_source.rb', line 289
def add_takes_clause_for_field(field_name)
field=@owning_class.get_field_named(field_name)
takes(field.name, field.declared_type)
end
|
#body {|@body| ... } ⇒ Object
265
266
267
268
269
|
# File 'lib/guff/java_source.rb', line 265
def body
@body = Body.new
yield @body
self
end
|
#for_field(field_name) ⇒ Object
271
272
273
274
275
276
|
# File 'lib/guff/java_source.rb', line 271
def for_field(field_name)
add_takes_clause_for_field(field_name)
body {|body|
add_assignment_for_field_name(body,field_name)
}
end
|
#for_fields(*field_names) ⇒ Object
278
279
280
281
282
283
|
# File 'lib/guff/java_source.rb', line 278
def for_fields(*field_names)
field_names.each {|field_name| add_takes_clause_for_field(field_name)}
body {|body|
field_names.each {|field_name| add_assignment_for_field_name(body,field_name)}
}
end
|
#write_declaration(writer) ⇒ Object
303
304
305
|
# File 'lib/guff/java_source.rb', line 303
def write_declaration(writer)
writer.append("public #{@name}(" ).append(parameters_list).append(")")
end
|
#write_to(writer) ⇒ Object
294
295
296
297
298
299
300
301
|
# File 'lib/guff/java_source.rb', line 294
def write_to(writer)
writer.ensure_member_separation_line
write_javadoc_to(writer)
write_annotations_to(writer)
write_declaration(writer)
append_throws_clause(writer)
@body.write_to(writer) unless @body.nil?
end
|