Plasma GitLab Archive
Projects Blog Knowledge

Class Pxp_reader.combine


class combine : ?mode:combination_mode -> resolver list -> resolver
Combines several resolver objects. If a concrete entity with an ext_id is to be opened, the combined resolver tries the contained resolvers in turn until a resolver accepts opening the entity (i.e. until a resolver does not raise Not_competent on open_rid).

If the entity to open has several names, e.g. a public name and a system name, these names are tried in parallel by default. For backward compatibility, the mode argument allows one to specify a different order:

  • Public_before_system: Try first to open as public identifier, and if that fails, fall back to the system identifier
  • System_before_public: Try first to open as system identifier, and if that fails, fall back to the public identifier
Clones: If the clone method is invoked on the combined resolver while it is closed, the effect is that all contained resolvers are cloned and the combination is repeated on the clones. If the clone method is invoked while the resolver is open, only the active sub resolver is cloned (i.e. the resolver that accepted the ID in the first place).

This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml