class AWS::Core::XmlGrammar::CustomizationContext

@private

def []=(name, value)

def []=(name, value)
  super
  if respond_to?("changed_#{name}")
    send("changed_#{name}", value)
  end
end

def changed_boolean(value)

def changed_boolean(value)
  recompute_accessors
end

def changed_renamed(value)

def changed_renamed(value)
  recompute_accessors
end

def deep_copy(hash = self)

def deep_copy(hash = self)
  fields = hash.inject({}) do |copy,(key,value)|
    if value.is_a?(CustomizationContext)
      value = value.deep_copy
    elsif value.is_a?(Hash)
      value = deep_copy(value)
    end
    copy[key] = value
    copy
  end
  hash.merge(fields)
end

def initialize(element_name = nil)

def initialize(element_name = nil)
  original_store(:children, {})
  if element_name
    original_store(:name, element_name)
    recompute_accessors
  end
end

def recompute_accessors

def recompute_accessors
  ruby_name = Inflection.ruby_name((self[:renamed] ||
                                    self[:name]).to_s)
  self[:getter] =
    if self[:boolean] && ruby_name != "value"
      "#{ruby_name}?"
    else
      ruby_name
    end
  self[:setter] = "#{ruby_name}="
end