@Override public void generate(GeneratorContext context, SourceWriter writer, MethodReference methodRef) throws IOException { boolean autodetect = Boolean.parseBoolean( context.getProperties().getProperty("java.util.TimeZone.autodetect", "false")); writer.append("return " + Boolean.toString(autodetect) + ";"); } }
@Override public void generate(GeneratorContext context, SourceWriter writer, MethodReference methodRef) throws IOException { ClassReader cls = context.getClassSource().get(methodRef.getClassName()); MethodReader method = cls.getMethod(methodRef.getDescriptor()); AnnotationReader refAnnot = method.getAnnotations().get(MetadataProviderRef.class.getName()); methodRef = MethodReference.parse(refAnnot.getValue("value").getString()); MetadataGenerator generator = MetadataUtils.createMetadataGenerator(context.getClassLoader(), method, new CallLocation(methodRef), context.getDiagnostics()); if (generator == null) { return; } DefaultMetadataGeneratorContext metadataContext = new DefaultMetadataGeneratorContext(context.getClassSource(), context.getClassLoader(), context.getProperties(), context); // Generate resource loader Resource resource = generator.generateMetadata(metadataContext, methodRef); writer.append("return "); ResourceWriterHelper.write(writer, resource); writer.append(';').softNewLine(); } }
context.getClassLoader(), context.getProperties(), context);
@Override public void generate(GeneratorContext context, SourceWriter writer, MethodReference methodRef) throws IOException { ClassReader cls = context.getClassSource().get(methodRef.getClassName()); MethodReader method = cls.getMethod(methodRef.getDescriptor()); AnnotationReader refAnnot = method.getAnnotations().get(MetadataProviderRef.class.getName()); methodRef = MethodReference.parse(refAnnot.getValue("value").getString()); MetadataGenerator generator = MetadataUtils.createMetadataGenerator(context.getClassLoader(), method, new CallLocation(methodRef), context.getDiagnostics()); if (generator == null) { return; } DefaultMetadataGeneratorContext metadataContext = new DefaultMetadataGeneratorContext(context.getClassSource(), context.getClassLoader(), context.getProperties(), context); // Generate resource loader Resource resource = generator.generateMetadata(metadataContext, methodRef); writer.append("return "); ResourceWriterHelper.write(writer, resource); writer.append(';').softNewLine(); } }
context.getClassLoader(), context.getProperties(), context);