232: def self.newparam(name, options = {}, &block)
233: options[:attributes] ||= {}
234: param = genclass(name,
235: :parent => options[:parent] || Puppet::Parameter,
236: :attributes => options[:attributes],
237: :block => block,
238: :prefix => "Parameter",
239: :array => @parameters,
240: :hash => @paramhash
241: )
242:
243: handle_param_options(name, options)
244:
245:
246: if options[:required_features]
247: param.required_features = options[:required_features]
248: end
249:
250: param.isnamevar if options[:namevar]
251:
252: if param.isnamevar?
253: @namevar = param.name
254: end
255:
256: return param
257: end