noctis.repository.neo4j.neo4j_queries.Neo4jQueryRegistry¶
- class noctis.repository.neo4j.neo4j_queries.Neo4jQueryRegistry[source]¶
A registry for managing and accessing Neo4j query classes.
This class provides a centralized mechanism for registering, retrieving, and listing query classes that extend AbstractQuery. It uses a class decorator pattern for automatic registration of query classes and offers methods to access and display information about registered queries.
- Attributes:
queries (dict): A dictionary storing registered query classes, keyed by query name.
- Class Methods:
register_query(): A decorator for registering new query classes. get_query_object(query_name: str): Retrieves a specific query class by name. get_all_queries(): Returns a set of all registered query names. info(): Prints detailed information about all registered queries.
- Usage:
To register a new query class: @Neo4jQueryRegistry.register_query() class MyNewQuery(AbstractQuery):
To retrieve a query class: query_class = Neo4jQueryRegistry.get_query_object(“my_query_name”)
To get all registered query names: all_queries = Neo4jQueryRegistry.get_all_queries()
To display information about all queries: Neo4jQueryRegistry.info()
- Note:
This class is designed to work with query classes that inherit from AbstractQuery. It assumes that registered classes have certain attributes like query_name, query_type, and methods like list_arguments().
- __init__()¶
Methods
__init__()get_all_queries()To return a dictionary with all the registered query types and names
get_query_object(query_name)To retrieve a specific Query class based in its type and name
info()register_query()Class decorator for automatic registration of new queries
Attributes
queries