package org.scribble.sesstype; import java.util.Arrays; import org.scribble.sesstype.name.GProtocolName; import org.scribble.sesstype.name.ModuleName; import org.scribble.sesstype.name.PackageName; public class SessionTypeFactory { public SessionTypeFactory() { } /*public static ModuleName parseModuleName(String name) { String[] elems = name.split("\\."); return new ModuleName(elems); }*/ // From fullname public static GProtocolName parseGlobalProtocolName(String name) { String[] elems = name.split("\\."); if (elems.length < 2) { throw new RuntimeException("Bad protocol full name: " + name); } String membname = elems[elems.length - 1]; ModuleName modname = new ModuleName(elems[elems.length - 2]); if (elems.length > 2) { PackageName packname = new PackageName(Arrays.copyOfRange(elems, 0, elems.length - 2)); modname = new ModuleName(packname, modname); } GProtocolName gpn = new GProtocolName(membname); return new GProtocolName(modname, gpn); } /*public static Scope parseScope(String name) { String[] elems = name.split("\\."); return new Scope(elems); }*/ }