package io.cattle.platform.resource.pool.port;
import io.cattle.platform.archaius.util.ArchaiusUtil;
import io.cattle.platform.core.model.Host;
import io.cattle.platform.resource.pool.PooledResourceItemGenerator;
import io.cattle.platform.resource.pool.PooledResourceItemGeneratorFactory;
import io.cattle.platform.resource.pool.impl.StringRangeGenerator;
import io.cattle.platform.resource.pool.util.ResourcePoolConstants;
import com.netflix.config.DynamicStringProperty;
public class HostPortGeneratorFactory implements PooledResourceItemGeneratorFactory {
private static final DynamicStringProperty HOST_PORT_START = ArchaiusUtil.getString("host.port.start");
private static final DynamicStringProperty HOST_PORT_END = ArchaiusUtil.getString("host.port.end");
@Override
public PooledResourceItemGenerator getGenerator(Object pool, String qualifier) {
if ((pool instanceof Host) && ResourcePoolConstants.HOST_PORT.equals(qualifier)) {
return new StringRangeGenerator(HOST_PORT_START.get(), HOST_PORT_END.get());
}
return null;
}
}