List of usage examples for com.google.gwt.resources.ext ResourceGeneratorUtil baseName
public static String baseName(URL resource)
From source file:gwt.g2d.resources.ExternalImageResourceGenerator.java
License:Apache License
@Override public String createAssignment(TreeLogger logger, ResourceContext context, JMethod method) throws UnableToCompleteException { String name = "ExternalImageResourceGenerator.createAssignment"; URL[] resources = ResourceGeneratorUtil.findResources(logger, context, method); SourceWriter sw = new StringSourceWriter(); // Write the expression to create the subtype. sw.println("new " + ExternalImageResource.class.getName() + "() {"); sw.indent();/* ww w . ja v a2s .c o m*/ sw.println(String.format("public void getImage(%s<%s> callback) {", ResourceCallback.class.getName(), ImageElementResource.class.getName())); sw.indent(); int index = 0; String abstractImageElementResourceClassName = AbstractImageElementResource.class.getName(); for (URL resource : resources) { String outputUrlExpression = context.deploy(resource, false); sw.println("{"); sw.println(abstractImageElementResourceClassName + " imgResource = new " + abstractImageElementResourceClassName + "() {"); sw.indent(); sw.println("public String getName() {"); sw.indent(); sw.println("return \"" + name + "\";"); sw.outdent(); sw.println("}"); sw.println("public String getBaseUrl() {"); sw.indent(); sw.println("return \"" + ResourceGeneratorUtil.baseName(resource) + "\";"); sw.outdent(); sw.println("}"); sw.println("public int getIndex() {"); sw.indent(); sw.println("return " + index + ";"); sw.outdent(); sw.println("}"); sw.outdent(); sw.println("};"); sw.println(ImageLoader.class.getName() + ".loadImageAsync(" + outputUrlExpression + ", imgResource, callback);"); sw.println("}"); index++; } sw.outdent(); sw.println("}"); sw.println("public String getName() {"); sw.indent(); sw.println("return \"" + name + "\";"); sw.outdent(); sw.println("}"); sw.outdent(); sw.println("}"); return sw.toString(); }