Class ExtensionBuilder


  • public final class ExtensionBuilder
    extends java.lang.Object
    This is a general builder for extensions. It includes convenience for the GraphDataScience component, but allows arbitrary component registration.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static ExtensionBuilder create​(org.neo4j.gds.logging.Log log, org.neo4j.graphdb.config.Configuration neo4jConfiguration, org.neo4j.kernel.api.procedure.GlobalProcedures globalProcedures)
      We create the extension builder purely from a few Neo4j services
      org.neo4j.function.ThrowingFunction<org.neo4j.kernel.api.procedure.Context,​org.neo4j.gds.procedures.GraphDataScience,​org.neo4j.internal.kernel.api.exceptions.ProcedureException> gdsProvider​(ExporterBuildersProviderService exporterBuildersProviderService, java.util.Optional<java.util.function.Function<org.neo4j.gds.applications.graphstorecatalog.CatalogBusinessFacade,​org.neo4j.gds.applications.graphstorecatalog.CatalogBusinessFacade>> businessFacadeDecorator, org.neo4j.gds.metrics.MetricsFacade metricsFacade, java.util.Optional<java.util.function.Function<org.neo4j.gds.applications.algorithms.pathfinding.AlgorithmProcessingTemplate,​org.neo4j.gds.applications.algorithms.pathfinding.AlgorithmProcessingTemplate>> algorithmProcessingTemplateDecorator, org.neo4j.gds.modelcatalogservices.ModelCatalogServiceProvider modelCatalogServiceProvider)
      Convenience for putting together the GraphDataScience provider.
      org.neo4j.kernel.lifecycle.Lifecycle registerExtension()
      The finalisation of the builder registers components with Neo4j
      <T> ExtensionBuilder withComponent​(java.lang.Class<T> cls, java.util.function.Supplier<org.neo4j.function.ThrowingFunction<org.neo4j.kernel.api.procedure.Context,​T,​org.neo4j.internal.kernel.api.exceptions.ProcedureException>> provider)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • create

        public static ExtensionBuilder create​(org.neo4j.gds.logging.Log log,
                                              org.neo4j.graphdb.config.Configuration neo4jConfiguration,
                                              org.neo4j.kernel.api.procedure.GlobalProcedures globalProcedures)
        We create the extension builder purely from a few Neo4j services
      • withComponent

        public <T> ExtensionBuilder withComponent​(java.lang.Class<T> cls,
                                                  java.util.function.Supplier<org.neo4j.function.ThrowingFunction<org.neo4j.kernel.api.procedure.Context,​T,​org.neo4j.internal.kernel.api.exceptions.ProcedureException>> provider)
      • registerExtension

        public org.neo4j.kernel.lifecycle.Lifecycle registerExtension()
        The finalisation of the builder registers components with Neo4j
      • gdsProvider

        public org.neo4j.function.ThrowingFunction<org.neo4j.kernel.api.procedure.Context,​org.neo4j.gds.procedures.GraphDataScience,​org.neo4j.internal.kernel.api.exceptions.ProcedureException> gdsProvider​(ExporterBuildersProviderService exporterBuildersProviderService,
                                                                                                                                                                                                                         java.util.Optional<java.util.function.Function<org.neo4j.gds.applications.graphstorecatalog.CatalogBusinessFacade,​org.neo4j.gds.applications.graphstorecatalog.CatalogBusinessFacade>> businessFacadeDecorator,
                                                                                                                                                                                                                         org.neo4j.gds.metrics.MetricsFacade metricsFacade,
                                                                                                                                                                                                                         java.util.Optional<java.util.function.Function<org.neo4j.gds.applications.algorithms.pathfinding.AlgorithmProcessingTemplate,​org.neo4j.gds.applications.algorithms.pathfinding.AlgorithmProcessingTemplate>> algorithmProcessingTemplateDecorator,
                                                                                                                                                                                                                         org.neo4j.gds.modelcatalogservices.ModelCatalogServiceProvider modelCatalogServiceProvider)
        Convenience for putting together the GraphDataScience provider. You can customise a few things, but overall most things are dull here.
        Parameters:
        exporterBuildersProviderService - The catalog of writers
        businessFacadeDecorator - Any checks added across requests
        metricsFacade -