@Override protected void emitClass(TemplateProvider<?> provider, TemplateMetaModel template, Element[] elements, Writer writer) throws IOException { // Path.Absolute path = template.getPath(); // Template qualified class writer.append("package ").append(path.getDirs()).append(";\n"); writer.append("import ").append(TemplateDescriptor.class.getCanonicalName()).append(";\n"); writer.append("import ").append(TemplateService.class.getCanonicalName()).append(";\n"); writer.append("@").append(Generated.class.getName()).append("({})\n"); writer.append("public class ").append(path.getRawName()).append(" extends ").append(SimpleTag.class.getName()).append("\n"); writer.append("{\n"); writer.append("public static final long MD5 = 0x").append(Long.toHexString(template.templateModel.getMD5())).append("L;\n"); writer.append("public ").append(path.getRawName()).append("()\n"); writer.append("{\n"); writer.append("super(\""). append(path.getRawName()).append("\","). append("").append(provider.getTemplateStubType().getName()).append(".class"). append(");\n"); writer.append("}\n"); // Close class writer.append("}\n"); } }
@Override protected void emitClass(TemplateProvider<?> provider, TemplateMetaModel template, Element[] elements, Writer writer) throws IOException { // Path.Absolute path = template.getPath(); // Template qualified class writer.append("package ").append(path.getDirs()).append(";\n"); writer.append("import ").append(TemplateDescriptor.class.getCanonicalName()).append(";\n"); writer.append("import ").append(TemplateService.class.getCanonicalName()).append(";\n"); writer.append("@").append(Generated.class.getName()).append("({})\n"); writer.append("public class ").append(path.getRawName()).append(" extends ").append(SimpleTag.class.getName()).append("\n"); writer.append("{\n"); writer.append("public static final long MD5 = 0x").append(Long.toHexString(template.templateModel.getMD5())).append("L;\n"); writer.append("public ").append(path.getRawName()).append("()\n"); writer.append("{\n"); writer.append("super(\""). append(path.getRawName()).append("\","). append("").append(provider.getTemplateStubType().getName()).append(".class"). append(");\n"); writer.append("}\n"); // Close class writer.append("}\n"); } }
writer.append("package ").append(path.getDirs()).append(";\n"); writer.append("import ").append(TemplateDescriptor.class.getCanonicalName()).append(";\n"); writer.append("import ").append(TemplateService.class.getCanonicalName()).append(";\n");
writer.append("package ").append(path.getDirs()).append(";\n"); writer.append("import ").append(TemplateDescriptor.class.getCanonicalName()).append(";\n"); writer.append("import ").append(TemplateService.class.getCanonicalName()).append(";\n");
public FileObject createResource(JavaFileManager.Location location, Path.Absolute path, Element... originatingElements) throws IOException { return createResource(location, path.getDirs(), path.getSimpleName(), originatingElements); }
public FileObject getResource(JavaFileManager.Location location, Path.Absolute path) throws IOException { return getResource(location, path.getDirs(), path.getSimpleName()); }
public FileObject getResource(JavaFileManager.Location location, Path.Absolute path) throws IOException { return getResource(location, path.getDirs(), path.getSimpleName()); }
public static FileKey newName(Path.Absolute path) { return new FileKey(path.getDirs().toString(), path.getRawName(), path.getExt()); }
public static FileKey newName(Path.Absolute path) { return new FileKey(path.getDirs().toString(), path.getRawName(), path.getExt()); }
@Test public void testResolveUp() throws Exception { Name name = Name.parse("foo.bar"); Path.Absolute file = name.resolve("../juu/daa.txt"); assertEquals("foo.juu", file.getDirs().toString()); assertEquals("daa.txt", file.getSimpleName()); assertEquals("txt", file.getExt()); assertEquals("daa", file.getRawName()); assertEquals("foo.juu.daa", file.getName().toString()); }
@Test public void testResolveDotInRawName() throws Exception { Name name = Name.parse("foo"); Path path = Path.parse("a.b.c"); Path.Absolute file = name.resolve(path); assertEquals("foo", file.getDirs().toString()); assertEquals("a.b.c", file.getSimpleName()); assertEquals("b.c", file.ext); assertEquals("a", file.getRawName()); assertEquals("foo.a", file.getName().toString()); }
@Test public void testResolveDotInRawName() throws Exception { Name name = Name.parse("foo"); Path path = Path.parse("a.b.c"); Path.Absolute file = name.resolve(path); assertEquals("foo", file.getDirs().toString()); assertEquals("a.b.c", file.getSimpleName()); assertEquals("b.c", file.ext); assertEquals("a", file.getRawName()); assertEquals("foo.a", file.getName().toString()); }
@Test public void testResolveUp() throws Exception { Name name = Name.parse("foo.bar"); Path.Absolute file = name.resolve("../juu/daa.txt"); assertEquals("foo.juu", file.getDirs().toString()); assertEquals("daa.txt", file.getSimpleName()); assertEquals("txt", file.getExt()); assertEquals("daa", file.getRawName()); assertEquals("foo.juu.daa", file.getName().toString()); }
public FileObject createResource(JavaFileManager.Location location, Path.Absolute path, Element... originatingElements) throws IOException { return createResource(location, path.getDirs(), path.getSimpleName(), originatingElements); }
@Test public void testResolveBug() { Path.Absolute path = (Path.Absolute)Path.parse("/plugin/less/ancestor/assets/folder/stylesheet.less"); Name dirs = path.getDirs(); Path.Absolute resolved = dirs.resolve("../stylesheet.less"); assertEquals(Path.parse("/plugin/less/ancestor/assets/stylesheet.less"), resolved); } }
@Test public void testResolveBug() { Path.Absolute path = (Path.Absolute)Path.parse("/plugin/less/ancestor/assets/folder/stylesheet.less"); Name dirs = path.getDirs(); Path.Absolute resolved = dirs.resolve("../stylesheet.less"); assertEquals(Path.parse("/plugin/less/ancestor/assets/stylesheet.less"), resolved); } }