Skip to content

#945 Rework the name generator

Albert Hofkamp requested to merge 945-rework-namegenerator-2 into develop

Rebuilds the name generator by replacing the existing NameGenerator interface and stepwise replacing the DefaultNameGenerator implementation class.

Most ideas stay the same, notable exceptions:

  • The Map<String, Integer> name storages are replaced by a NameScope abstraction, which is just a set of names with querying and adding functionality.
  • The interface has an added set of prefix names, to allow for creating one suffix name that works with all prefixes.
  • The implementation explicitly assumes a two level scope structure (one central global scope and zero or more local scopes, where the local scopes can also use names from the global scope).
  • The implementation makes sure that the global names never clash with any of the local names (by having a union of all local scope names).

Closes #945 (closed)

Merge request reports