Module: RGen::Serializer

Defined in:
lib/rgen/serializer/xml_serializer.rb,
lib/rgen/serializer/json_serializer.rb,
lib/rgen/serializer/xmi11_serializer.rb,
lib/rgen/serializer/xmi20_serializer.rb,
lib/rgen/serializer/qualified_name_provider.rb,
lib/rgen/serializer/opposite_reference_filter.rb

Defined Under Namespace

Classes: JsonSerializer, QualifiedNameProvider, XMI11Serializer, XMI20Serializer, XMLSerializer

Constant Summary collapse

OppositeReferenceFilter =

Filters refereences with an eOpposite:

1. containment references are always preferred
2. at a 1-to-n reference the 1-reference is always preferred
3. otherwise the reference with the name in string sort order before the opposite's name is prefereed
proc do |features|
  features.reject{|f| f.is_a?(RGen::ECore::EReference) && !f.containment && f.eOpposite &&
    (f.eOpposite.containment || (f.many && !f.eOpposite.many) || (!(!f.many && f.eOpposite.many) && (f.name < f.eOpposite.name)))}
end