package org.jboss.tools.hibernate.runtime.spi; import java.io.File; import java.sql.Connection; import java.util.List; import java.util.Map; import java.util.Properties; import org.xml.sax.EntityResolver; public interface IService { IConfiguration newAnnotationConfiguration(); IConfiguration newJpaConfiguration( String entityResolver, String persistenceUnit, Map<Object, Object> overrides); IConfiguration newDefaultConfiguration(); IHibernateMappingExporter newHibernateMappingExporter( IConfiguration hcfg, File file); ISchemaExport newSchemaExport( IConfiguration hcfg); IHQLCodeAssist newHQLCodeAssist( IConfiguration hcfg); IConfiguration newJDBCMetaDataConfiguration(); IExporter createExporter( String exporterClassName); IArtifactCollector newArtifactCollector(); IHQLQueryPlan newHQLQueryPlan( String query, boolean shallow, ISessionFactory sessionFactory); ITypeFactory newTypeFactory(); INamingStrategy newNamingStrategy(String strategyClassName); IOverrideRepository newOverrideRepository(); ITableFilter newTableFilter(); IReverseEngineeringSettings newReverseEngineeringSettings( IReverseEngineeringStrategy res); IReverseEngineeringStrategy newDefaultReverseEngineeringStrategy(); IJDBCReader newJDBCReader( IConfiguration configuration, IReverseEngineeringStrategy strategy); IReverseEngineeringStrategy newReverseEngineeringStrategy( String strategyName, IReverseEngineeringStrategy delegate); String getReverseEngineeringStrategyClassName(); IDatabaseCollector newDatabaseCollector(IJDBCReader jdbcReader); ICfg2HbmTool newCfg2HbmTool(); IProperty newProperty(); ITable newTable(String name); IColumn newColumn(String string); IDialect newDialect(Properties properties, Connection connection); Class<?> getDriverManagerConnectionProviderClass(); IEnvironment getEnvironment(); IValue newSimpleValue(); IValue newPrimitiveArray(IPersistentClass persistentClass); IValue newArray(IPersistentClass persistentClass); IValue newBag(IPersistentClass persistentClass); IValue newList(IPersistentClass persistentClass); IValue newMap(IPersistentClass persistentClass); IValue newSet(IPersistentClass persistentClass); IValue newManyToOne(ITable table); IValue newOneToMany(IPersistentClass persistentClass); IValue newOneToOne(IPersistentClass persistentClass); IPersistentClass newSingleTableSubclass(IPersistentClass persistentClass); IPersistentClass newJoinedSubclass(IPersistentClass persistentClass); IPersistentClass newSpecialRootClass(IProperty ormElement); IPersistentClass newRootClass(); IPrimaryKey newPrimaryKey(); boolean isInitialized(Object object); List<String> getJPAMappingFilePaths(String persistenceUnitName, EntityResolver entityResolver); Class<?> getClassWithoutInitializingProxy(Object reflectedObject); ClassLoader getClassLoader(); }