/* * 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.util.List; import com.db4o.cs.Db4oClientServer; import com.db4o.cs.config.ClientConfiguration; import com.db4o.cs.config.ClientConfigurationItem; /** * @author olli */ public class ClientConfigurationFactoryBean { // implements FactoryBean<ClientConfiguration> { https://jira.springframework.org/browse/OSGI-808 private ClientConfiguration configuration = Db4oClientServer.newClientConfiguration(); private CommonConfigurer commonConfigurer; private NetworkingConfigurer networkingConfigurer; public ClientConfigurationFactoryBean() { } /** * @return */ public ClientConfiguration getConfiguration() { return configuration; } /** * @return * @see org.springframework.beans.factory.FactoryBean#getObject() */ public ClientConfiguration getObject() { return configuration; } /** * @return * @see org.springframework.beans.factory.FactoryBean#getObjectType() */ public Class<ClientConfiguration> getObjectType() { return ClientConfiguration.class; } /** * @return * @see org.springframework.beans.factory.FactoryBean#isSingleton() */ public boolean isSingleton() { return true; } /** * @return * @see com.db4o.cs.config.ClientConfiguration#common() */ public CommonConfigurer getCommon() { if (commonConfigurer == null) { commonConfigurer = new CommonConfigurer(configuration.common()); } return commonConfigurer; } /** * @return * @see com.db4o.cs.config.ClientConfiguration#networking() */ public NetworkingConfigurer getNetworking() { if (networkingConfigurer == null) { networkingConfigurer = new NetworkingConfigurer(configuration.networking()); } return networkingConfigurer; } /** * @param prefetchDepth * @see com.db4o.cs.config.ClientConfiguration#prefetchDepth(int) */ public void setPrefetchDepth(int prefetchDepth) { configuration.prefetchDepth(prefetchDepth); } /** * @param prefetchIDCount * @see com.db4o.cs.config.ClientConfiguration#prefetchIDCount(int) */ public void setPrefetchIDCount(int prefetchIDCount) { configuration.prefetchIDCount(prefetchIDCount); } /** * @param prefetchObjectCount * @see com.db4o.cs.config.ClientConfiguration#prefetchObjectCount(int) */ public void setPrefetchObjectCount(int prefetchObjectCount) { configuration.prefetchObjectCount(prefetchObjectCount); } /** * @param prefetchSlotCacheSize * @see com.db4o.cs.config.ClientConfiguration#prefetchSlotCacheSize(int) */ public void setPrefetchSlotCacheSize(int prefetchSlotCacheSize) { configuration.prefetchSlotCacheSize(prefetchSlotCacheSize); } /** * @param timeoutClientSocket * @see com.db4o.cs.config.ClientConfiguration#timeoutClientSocket(int) */ public void setTimeoutClientSocket(int timeoutClientSocket) { configuration.timeoutClientSocket(timeoutClientSocket); } /** * @param clientConfigurationItem * @see com.db4o.cs.config.ClientConfiguration#addConfigurationItem(com.db4o.cs.config.ClientConfigurationItem) */ public void setConfigurationItem(ClientConfigurationItem clientConfigurationItem) { configuration.addConfigurationItem(clientConfigurationItem); } /** * @param clientConfigurationItems * @see com.db4o.cs.config.ClientConfiguration#addConfigurationItem(com.db4o.cs.config.ClientConfigurationItem) */ public void setConfigurationItems(List<ClientConfigurationItem> clientConfigurationItems) { for (ClientConfigurationItem clientConfigurationItem : clientConfigurationItems) { configuration.addConfigurationItem(clientConfigurationItem); } } }