ModuleConfiguration implements InitializingBean, ApplicationContextAware { public void setExternalizableBusinessObjectImplementations( Map<Class, Class> externalizableBusinessObjectImplementations) { if (externalizableBusinessObjectImplementations != null) { for (Class implClass : externalizableBusinessObjectImplementations.values()) { int implModifiers = implClass.getModifiers(); if (Modifier.isInterface(implModifiers) || Modifier.isAbstract(implModifiers)) { throw new RuntimeException("Externalizable business object implementation class " + implClass.getName() + " must be a non-interface, non-abstract class"); } } } this.externalizableBusinessObjectImplementations = externalizableBusinessObjectImplementations; } ModuleConfiguration(); @Override void afterPropertiesSet(); @Deprecated List<String> getDatabaseRepositoryFilePaths(); @Deprecated void setDatabaseRepositoryFilePaths(
			List<String> databaseRepositoryFilePaths); List<String> getDataDictionaryPackages(); void setDataDictionaryPackages(List<String> dataDictionaryPackages); Map<Class, Class> getExternalizableBusinessObjectImplementations(); void setExternalizableBusinessObjectImplementations(
			Map<Class, Class> externalizableBusinessObjectImplementations); List<String> getPackagePrefixes(); void setPackagePrefixes(List<String> packagePrefixes); void setInitializeDataDictionary(boolean initializeDataDictionary); List<String> getScriptConfigurationFilePaths(); List<String> getResourceBundleNames(); void setResourceBundleNames(List<String> resourceBundleNames); boolean isInitializeDataDictionary(); void setScriptConfigurationFilePaths(
			List<String> scriptConfigurationFilePaths); String getNamespaceCode(); void setNamespaceCode(String namespaceCode); @Override void setApplicationContext(ApplicationContext applicationContext); void setProviders(List<Provider> providers); List<Provider> getProviders(); DataDictionaryService getDataDictionaryService(); void setDataDictionaryService(DataDictionaryService dataDictionaryService); ProviderRegistry getProviderRegistry(); void setProviderRegistry(ProviderRegistry providerRegistry); @Deprecated Object getPersistenceService(); @Deprecated void setPersistenceService(Object persistenceService); String getDataSourceName(); void setDataSourceName(String dataSourceName); @Override String toString();  }
@Test public void testConcreteEBOIsValid() { Map<Class, Class> ebos = new HashMap<Class, Class>(); ebos.put(TestEBOInterface.class, TestEBOConcrete.class); config.setExternalizableBusinessObjectImplementations(ebos); }
@Test(expected=RuntimeException.class) public void testAbstractEBOIsInvalid() { Map<Class, Class> ebos = new HashMap<Class, Class>(); ebos.put(TestEBOInterface.class, TestEBOAbstract.class); config.setExternalizableBusinessObjectImplementations(ebos); }
@Test(expected=RuntimeException.class) public void testInterfaceEBOIsInvalid() { Map<Class, Class> ebos = new HashMap<Class, Class>(); ebos.put(TestEBOInterface.class, TestEBOInterfaceSub.class); config.setExternalizableBusinessObjectImplementations(ebos); }