001package io.ebeanservice.docstore.api;
002
003import io.ebean.plugin.SpiServer;
004import io.ebeaninternal.server.deploy.BeanDescriptor;
005import io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor;
006
007/**
008 * Creates the integration components for DocStore integration.
009 */
010public interface DocStoreFactory {
011
012  /**
013   * Create and return the DocStore integration components.
014   */
015  DocStoreIntegration create(SpiServer server);
016
017  /**
018   * Create the doc store specific adapter for the given bean type.
019   */
020  <T> DocStoreBeanAdapter<T> createAdapter(BeanDescriptor<T> desc, DeployBeanDescriptor<T> deploy);
021
022}