package org.eclipselabs.spray.generator.graphiti.util;
import org.eclipse.core.runtime.Assert;
import org.eclipse.xtext.common.types.JvmTypeReference;
@SuppressWarnings("restriction")
public class ImportUtil {
private org.eclipse.xtext.xbase.compiler.ImportManager xbaseImportManager;
private org.eclipse.emf.codegen.util.ImportManager emfImportManager;
public void initImports(String compilationUnitPackage) {
xbaseImportManager = new org.eclipse.xtext.xbase.compiler.ImportManager(/* organizeImports */true);
emfImportManager = new org.eclipse.emf.codegen.util.ImportManager(compilationUnitPackage);
}
public String shortName(JvmTypeReference typeRef) {
Assert.isNotNull(emfImportManager, "Call initImports() first");
return emfImportManager.getImportedName(typeRef.getIdentifier(), true);
}
public String shortName(String qualifiedName) {
Assert.isNotNull(emfImportManager, "Call initImports() first");
return emfImportManager.getImportedName(qualifiedName, true);
}
public String shortName(Class<?> clazz) {
Assert.isNotNull(emfImportManager, "Call initImports() first");
return emfImportManager.getImportedName(clazz.getName(), true);
}
public String printImports() {
Assert.isNotNull(emfImportManager, "Call initImports() first");
StringBuilder builder = new StringBuilder();
for (String i : emfImportManager.getImports()) {
builder.append("import ").append(i).append(';').append(System.getProperty("line.separator"));
}
return builder.toString();
}
public org.eclipse.xtext.xbase.compiler.ImportManager getXbaseImportManager() {
return xbaseImportManager;
}
}