class Moxml::Config

def adapter

def adapter
  @adapter ||= Adapter.load(@adapter_name)
end

def adapter=(name)

def adapter=(name)
  name = name.to_sym
  @adapter = nil
  unless VALID_ADAPTERS.include?(name)
    raise ArgumentError, "Invalid adapter: #{name}. Valid adapters are: #{VALID_ADAPTERS.join(", ")}"
  end
  @adapter_name = name
  adapter
end

def default

def default
  @default ||= new(default_adapter, true, "UTF-8")
end

def default_adapter

def default_adapter
  @default_adapter ||= DEFAULT_ADAPTER
end

def default_adapter=(name)

def default_adapter=(name)
  self.adapter = name
  self.class.default_adapter = name
end

def initialize(adapter_name = nil, strict_parsing = nil, default_encoding = nil)

def initialize(adapter_name = nil, strict_parsing = nil, default_encoding = nil)
  self.adapter = adapter_name || Config.default.adapter_name
  @strict_parsing = strict_parsing || Config.default.strict_parsing
  @default_encoding = default_encoding || Config.default.default_encoding
  # reserved for future use
  @default_indent = 2
  @entity_encoding = :basic
end