package org.eclipse.ecf.provider.nntp;
import org.eclipse.ecf.core.ContainerCreateException;
import org.eclipse.ecf.core.ContainerTypeDescription;
import org.eclipse.ecf.core.IContainer;
import org.eclipse.ecf.core.identity.ID;
import org.eclipse.ecf.core.identity.IDFactory;
import org.eclipse.ecf.core.provider.BaseContainerInstantiator;
public class NNTPServerContainerFactory extends BaseContainerInstantiator {
public IContainer createInstance(ContainerTypeDescription description,
Object[] parameters) throws ContainerCreateException {
try {
if (parameters != null) {
if (parameters[0] instanceof ID) {
return new NNTPServerContainer((ID) parameters[0]);
} else if (parameters[0] instanceof String) {
return new NNTPServerContainer(IDFactory.getDefault()
.createStringID((String) parameters[0]));
}
}
return new NNTPServerContainer(IDFactory.getDefault().createGUID());
} catch (final Exception e) {
throw new ContainerCreateException(
"Could not create nntp server container", e);
}
}
}