package org.eclipse.dltk.tcl.internal.core.search.mixin.model; import org.eclipse.dltk.tcl.internal.core.search.mixin.TclMixinModel; public class TclNamespaceImport { private static final String NAMESPACE_PREFIX = TclMixinModel.NAMESPACE_PRERIX; private String namespace = null; private String importNsName = null; public TclNamespaceImport(String namespace, String pattern) { this.namespace = namespace; this.importNsName = pattern; } public String getNamespace() { return namespace; } public String getImportNsName() { return importNsName; } public static String makeKey(String namespace, String pattern) { if (namespace.startsWith("::")) { namespace = namespace.substring(2); } if (pattern != null) { return NAMESPACE_PREFIX + namespace + "|" + pattern; } return null; } public static String processPattern(String pattern) { if (pattern.startsWith("::")) { pattern = pattern.substring(2); } int pos = pattern.lastIndexOf("::"); if (pos != -1) { pattern = pattern.substring(0, pos); } else { return pattern; } return pattern; } public static TclNamespaceImport parseKey(String key) { if (!key.startsWith(NAMESPACE_PREFIX)) { return null; } key = key.substring(1); int pos = key.indexOf("|"); return new TclNamespaceImport(key.substring(0, pos), key .substring(pos + 1)); } }