# Copyright: Copyright 2009 Topic Maps Lab, University of Leipzig.
# License:   Apache License, Version 2.0

module RTM::Sugar;end

require 'rtm/sugar/topic/topic_ref'
require 'rtm/sugar/topic/hash_access'
require 'rtm/sugar/topic/characteristics'
require 'rtm/sugar/topic/counterparts'
require 'rtm/sugar/topic/scoped'
require 'rtm/sugar/topic/typed'
require 'rtm/sugar/topic/best_name'
require 'rtm/sugar/topic/remove'
RTM::Topic.register_extension(RTM::Sugar::Topic::TopicRef)
RTM::Topic.register_extension(RTM::Sugar::Topic::HashAccess)
RTM::Topic.register_extension(RTM::Sugar::Topic::Characteristics)
RTM::Topic.register_extension(RTM::Sugar::Topic::Counterparts)
RTM::Topic.register_extension(RTM::Sugar::Topic::Scoped)
RTM::Topic.register_extension(RTM::Sugar::Topic::Typed)
RTM::Topic.register_extension(RTM::Sugar::Topic::BestName)
RTM::Topic.register_extension(RTM::Sugar::Topic::Remove)

require "rtm/sugar/association/hash_access"
require "rtm/sugar/association/remove"
RTM::Association.register_extension(RTM::Sugar::Association::HashAccess)
RTM::Association.register_extension(RTM::Sugar::Association::Remove)

require "rtm/sugar/name/remove"
RTM::Name.register_extension(RTM::Sugar::Name::Remove)

require "rtm/sugar/role/counterparts"
RTM::Role.register_extension(RTM::Sugar::Role::Counterparts)

require "time"
require "rtm/sugar/occurrence/dynamic_value"
require "rtm/sugar/occurrence/external"
require "rtm/sugar/occurrence/remove"
RTM::Occurrence.register_extension(RTM::Sugar::Occurrence::DynamicValue)
RTM::Occurrence.register_extension(RTM::Sugar::Occurrence::External)
RTM::Occurrence.register_extension(RTM::Sugar::Occurrence::Remove)

require "rtm/sugar/typed/types"
RTM::Typed.register_extension(RTM::Sugar::Typed::Types)

require 'rtm/sugar/reifiable/reifier'
RTM::Reifiable.register_extension(RTM::Sugar::Reifiable::CreateReifier)

require 'rtm/sugar/topic_map/query_cache'
require 'rtm/sugar/topic_map/scoped'
require 'rtm/sugar/topic_map/types'
require 'rtm/sugar/topic_map/remove'
require 'rtm/sugar/topic_map/resolve'
require 'rtm/sugar/topic_map/readable'
module RTM::TopicMap
  @query_cache = nil #disables query caching
end
RTM::TopicMap.register_extension(RTM::Sugar::TopicMap::QueryCache)
RTM::TopicMap.register_extension(RTM::Sugar::TopicMap::Scoped)
RTM::TopicMap.register_extension(RTM::Sugar::TopicMap::Types)
RTM::TopicMap.register_extension(RTM::Sugar::TopicMap::Remove)
RTM::TopicMap.register_extension(RTM::Sugar::TopicMap::Resolve)
RTM::TopicMap.register_extension(RTM::Sugar::TopicMap::Readable)

require "rtm/sugar/variant/topic"
require "rtm/sugar/variant/remove"
RTM::Variant.register_extension(RTM::Sugar::Variant::Topic)
RTM::Variant.register_extension(RTM::Sugar::Variant::Remove)