package org.arquillian.cube.impl.model;
import java.util.Objects;
public class CubeIdFactory {
private static final CubeIdFactory INSTANCE = new CubeIdFactory();
public static CubeIdFactory get() {
return INSTANCE;
}
public CubeId create(String id) {
Objects.requireNonNull(id, "Id must not be null.");
final CubeId cubeId;
if (id.matches(StarredCubeId.PATTERN)) {
cubeId = new StarredCubeId(id);
} else if (id.matches(ParallelizedCubeId.PATTERN)) {
cubeId = new ParallelizedCubeId(id);
} else {
cubeId = new DefaultCubeId(id);
}
return cubeId;
}
}