package Zoom.Queries is type Query is abstract tagged null record; type Prefix_Query is new Query with private; type CCL_Query is new Query with private; function Create (PQN : String) return Prefix_Query; function Create (CCL : String; Qualset : String) return CCL_Query; function Prefix (Q : Query'Class; S : String) return Integer; function Sort_By (Q : Query'Class; Criteria : String) return Integer; private type CCL_Query is new Query with null record; type Prefix_Query is new Query with null record; end Zoom.Queries;