blob: 39c862fe0a75b7ca80da72f23d928f58524a9697 [file] [log] [blame]
/*
* Copyright (c) 2008, 2009, 2011, 2012, 2015 Eike Stepper (Berlin, Germany) and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Andre Dietisheim - initial API and implementation
* Eike Stepper - maintenance
*/
package org.eclipse.net4j.defs.util;
import org.eclipse.net4j.FactoriesProtocolProvider;
import org.eclipse.net4j.defs.Net4jDefsFactory;
import org.eclipse.net4j.defs.ProtocolProviderDef;
import org.eclipse.net4j.defs.TCPConnectorDef;
import org.eclipse.net4j.protocol.IProtocolProvider;
import org.eclipse.net4j.tcp.ITCPConnector;
import org.eclipse.net4j.util.defs.Net4jUtilDefsFactory;
import org.eclipse.net4j.util.factory.IFactory;
import java.util.Iterator;
import java.util.List;
public class Net4jDefsUtil
{
/**
* Creates the factories protocol provider. The current implementation uses a {@link FactoriesProtocolProvider}.
*
* @param clientProtocolFactoryDef
* the client protocol factory definition
* @return the protocol provider
*/
public static <PPD extends ProtocolProviderDef> IProtocolProvider createFactoriesProtocolProvider(
List<PPD> protocolFactoryDef)
{
FactoriesProtocolProvider protocolProvider = new FactoriesProtocolProvider();
for (Iterator<PPD> iterator = protocolFactoryDef.iterator(); iterator.hasNext();)
{
PPD protocolProviderDef = iterator.next();
protocolProvider.addFactory((IFactory)protocolProviderDef.getInstance());
}
return protocolProvider;
}
public static TCPConnectorDef createTCPConnectorDef(final String host)
{
return createTCPConnectorDef(host, ITCPConnector.DEFAULT_PORT);
}
public static TCPConnectorDef createTCPConnectorDef(final String host, final int port)
{
TCPConnectorDef tcpConnectorDef = Net4jDefsFactory.eINSTANCE.createTCPConnectorDef();
tcpConnectorDef.setHost(host);
tcpConnectorDef.setPort(port);
tcpConnectorDef.setBufferProvider(Net4jDefsFactory.eINSTANCE.createBufferPoolDef());
tcpConnectorDef.setExecutorService(Net4jUtilDefsFactory.eINSTANCE.createThreadPoolDef());
tcpConnectorDef.setTcpSelectorDef(Net4jDefsFactory.eINSTANCE.createTCPSelectorDef());
return tcpConnectorDef;
}
}