001package com.avaje.ebean.plugin; 002 003import com.avaje.ebean.EbeanServer; 004import com.avaje.ebean.config.ServerConfig; 005import com.avaje.ebean.config.dbplatform.DatabasePlatform; 006 007import java.util.List; 008 009/** 010 * Extensions to EbeanServer API made available to plugins. 011 */ 012public interface SpiServer extends EbeanServer { 013 014 /** 015 * Return the serverConfig. 016 */ 017 ServerConfig getServerConfig(); 018 019 /** 020 * Return the DatabasePlatform for this server. 021 */ 022 DatabasePlatform getDatabasePlatform(); 023 024 /** 025 * Return all the bean types registered on this server instance. 026 */ 027 List<? extends BeanType<?>> getBeanTypes(); 028 029 /** 030 * Return the bean type for a given entity bean class. 031 */ 032 <T> BeanType<T> getBeanType(Class<T> beanClass); 033 034 /** 035 * Return the bean types mapped to the given base table. 036 */ 037 List<? extends BeanType<?>> getBeanTypes(String baseTableName); 038 039 /** 040 * Return the bean type for a given doc store queueId. 041 */ 042 BeanType<?> getBeanTypeForQueueId(String queueId); 043}