/*
* Copyright 2010-2011 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springextensions.db4o.config;
import java.io.PrintStream;
import java.util.List;
import java.util.Map;
import com.db4o.config.Alias;
import com.db4o.config.CommonConfiguration;
import com.db4o.config.ConfigurationItem;
import com.db4o.config.NameProvider;
import com.db4o.config.encoding.StringEncoding;
import com.db4o.reflect.Reflector;
import com.db4o.typehandlers.TypeHandler4;
import com.db4o.typehandlers.TypeHandlerPredicate;
/**
* @author olli
* @see <a href="http://developer.db4o.com/Documentation/Reference/db4o-8.0/java/reference/Content/configuration/common_configuration.htm">Common Configuration</a>
*/
public class CommonConfigurer {
protected CommonConfiguration commonConfiguration;
protected QueryConfigurer queryConfigurer;
protected DiagnosticConfigurer diagnosticConfigurer;
protected EnvironmentConfigurer environmentConfigurer;
public CommonConfigurer(CommonConfiguration commonConfiguration) {
this.commonConfiguration = commonConfiguration;
}
public CommonConfiguration getConfiguration() {
return commonConfiguration;
}
public QueryConfigurer getQuery() {
if (queryConfigurer == null) {
queryConfigurer = new QueryConfigurer(commonConfiguration.queries());
}
return queryConfigurer;
}
public DiagnosticConfigurer getDiagnostic() {
if (diagnosticConfigurer == null) {
diagnosticConfigurer = new DiagnosticConfigurer(commonConfiguration.diagnostic());
}
return diagnosticConfigurer;
}
public EnvironmentConfigurer getEnvironment() {
if (environmentConfigurer == null) {
environmentConfigurer = new EnvironmentConfigurer(commonConfiguration.environment());
}
return environmentConfigurer;
}
/**
* @param alias
* @see com.db4o.config.CommonConfiguration#addAlias(com.db4o.config.Alias)
*/
public void setAlias(Alias alias) {
commonConfiguration.addAlias(alias);
}
/**
* @param aliases
* @see com.db4o.config.CommonConfiguration#addAlias(com.db4o.config.Alias)
*/
public void setAliases(List<Alias> aliases) {
for (Alias alias : aliases) {
commonConfiguration.addAlias(alias);
}
}
/**
* @param activationDepth
* @see com.db4o.config.CommonConfiguration#activationDepth(int)
*/
public void setActivationDepth(int activationDepth) {
commonConfiguration.activationDepth(activationDepth);
}
/**
* @param configurationItem
* @see com.db4o.config.CommonConfiguration#add(com.db4o.config.ConfigurationItem)
*/
public void setConfigurationItem(ConfigurationItem configurationItem) {
commonConfiguration.add(configurationItem);
}
/**
* @param configurationItems
* @see com.db4o.config.CommonConfiguration#add(com.db4o.config.ConfigurationItem)
*/
public void setConfigurationItems(List<ConfigurationItem> configurationItems) {
for (ConfigurationItem configurationItem : configurationItems) {
commonConfiguration.add(configurationItem);
}
}
/**
* @param allowVersionUpdates
* @see com.db4o.config.CommonConfiguration#allowVersionUpdates(boolean)
*/
public void setAllowVersionUpdates(boolean allowVersionUpdates) {
commonConfiguration.allowVersionUpdates(allowVersionUpdates);
}
/**
* @param automaticShutDown
* @see com.db4o.config.CommonConfiguration#automaticShutDown(boolean)
*/
public void setAutomaticShutDown(boolean automaticShutDown) {
commonConfiguration.automaticShutDown(automaticShutDown);
}
/**
* @param bTreeNodeSize
* @see com.db4o.config.CommonConfiguration#bTreeNodeSize(int)
*/
public void setBTreeNodeSize(int bTreeNodeSize) {
commonConfiguration.bTreeNodeSize(bTreeNodeSize);
}
/**
* @param callbacks
* @see com.db4o.config.CommonConfiguration#callbacks(boolean)
*/
public void setCallbacks(boolean callbacks) {
commonConfiguration.callbacks(callbacks);
}
/**
* @param callConstructors
* @see com.db4o.config.CommonConfiguration#callConstructors(boolean)
*/
public void setCallConstructors(boolean callConstructors) {
commonConfiguration.callConstructors(callConstructors);
}
/**
* @param detectSchemaChanges
* @see com.db4o.config.CommonConfiguration#detectSchemaChanges(boolean)
*/
public void setDetectSchemaChanges(boolean detectSchemaChanges) {
commonConfiguration.detectSchemaChanges(detectSchemaChanges);
}
/**
* @param exceptionsOnNotStorable
* @see com.db4o.config.CommonConfiguration#exceptionsOnNotStorable(boolean)
*/
public void setExceptionsOnNotStorable(boolean exceptionsOnNotStorable) {
commonConfiguration.exceptionsOnNotStorable(exceptionsOnNotStorable);
}
/**
* @param internStrings
* @see com.db4o.config.CommonConfiguration#internStrings(boolean)
*/
public void setInternStrings(boolean internStrings) {
commonConfiguration.internStrings(internStrings);
}
/**
* @param markTransient
* @see com.db4o.config.CommonConfiguration#markTransient(String)
*/
public void setMarkTransient(String markTransient) {
commonConfiguration.markTransient(markTransient);
}
/**
* @param markTransients
* @see com.db4o.config.CommonConfiguration#markTransient(String)
*/
public void setMarkTransients(List<String> markTransients) {
for (String markTransient : markTransients) {
commonConfiguration.markTransient(markTransient);
}
}
/**
* @param maxStackDepth
* @see com.db4o.config.CommonConfiguration#maxStackDepth(int)
*/
public void setMaxStackDepth(int maxStackDepth) {
commonConfiguration.maxStackDepth(maxStackDepth);
}
/**
* @param messageLevel
* @see com.db4o.config.CommonConfiguration#messageLevel(int)
*/
public void setMessageLevel(int messageLevel) {
commonConfiguration.messageLevel(messageLevel);
}
/**
* @param optimizeNativeQueries
* @see com.db4o.config.CommonConfiguration#optimizeNativeQueries(boolean)
*/
public void setOptimizeNativeQueries(boolean optimizeNativeQueries) {
commonConfiguration.optimizeNativeQueries(optimizeNativeQueries);
}
/**
* @param reflector
* @see com.db4o.config.CommonConfiguration#reflectWith(com.db4o.reflect.Reflector)
*/
public void setReflectWith(Reflector reflector) {
commonConfiguration.reflectWith(reflector);
}
/**
* @param printStream
* @see com.db4o.config.CommonConfiguration#outStream(java.io.PrintStream)
*/
public void setOutStream(PrintStream printStream) {
commonConfiguration.outStream(printStream);
}
/**
* @param stringEncoding
* @see com.db4o.config.CommonConfiguration#stringEncoding(com.db4o.config.encoding.StringEncoding)
*/
public void setStringEncoding(StringEncoding stringEncoding) {
commonConfiguration.stringEncoding(stringEncoding);
}
/**
* @param testConstructors
* @see com.db4o.config.CommonConfiguration#testConstructors(boolean)
*/
public void setTestConstructors(boolean testConstructors) {
commonConfiguration.testConstructors(testConstructors);
}
/**
* @param updateDepth
* @see com.db4o.config.CommonConfiguration#updateDepth(int)
*/
public void setUpdateDepth(int updateDepth) {
commonConfiguration.updateDepth(updateDepth);
}
/**
* @param weakReferences
* @see com.db4o.config.CommonConfiguration#weakReferences(boolean)
*/
public void setWeakReferences(boolean weakReferences) {
commonConfiguration.weakReferences(weakReferences);
}
/**
* @param weakReferenceCollectionInterval
* @see com.db4o.config.CommonConfiguration#weakReferenceCollectionInterval(int)
*/
public void setWeakReferenceCollectionInterval(int weakReferenceCollectionInterval) {
commonConfiguration.weakReferenceCollectionInterval(weakReferenceCollectionInterval);
}
/**
* @param typeHandlers
* @see com.db4o.config.CommonConfiguration#registerTypeHandler(com.db4o.typehandlers.TypeHandlerPredicate, com.db4o.typehandlers.TypeHandler4)
*/
public void setTypeHandlers(Map<TypeHandlerPredicate, TypeHandler4> typeHandlers) {
for (Map.Entry<TypeHandlerPredicate, TypeHandler4> entry : typeHandlers.entrySet()) {
commonConfiguration.registerTypeHandler(entry.getKey(), entry.getValue());
}
}
/**
* @param nameProvider
* @see com.db4o.config.CommonConfiguration#nameProvider(com.db4o.config.NameProvider)
*/
public void setNameProvider(NameProvider nameProvider) {
commonConfiguration.nameProvider(nameProvider);
}
}