Closed tunggad closed 13 years ago
sure. Let me see how soon I can get my hands on this. In the meantime, latest code in the repo give primitive parameters a default value in the Java way: int defaults to 0, boolean defaults to false, etc. Strings default to "", not null. All other objects default to null.
The latest 0.8.8 version added defaults, using the java annotation style:
`( @Default(123) int i, @Default("something") String msg )
Check it out!
The choice of using annotation was due to the available robust Java syntax parser. I don't have a robust parser to support your suggested style.
`( String name, String url, String type, String data, String reRender,
@default("html") String dataType,
String beforeSend, String success, String jsData, Boolean cache, String event
)
---> error:
[Japid] Transforming template: app\japidviews_tags\ajax.html to: ajax.java java.lang.RuntimeException: the line does not seem to be a valid param declaration list: String name, String url, String type, String data, String reRender, @default("html") String dataType, String beforeSend, String success, String jsData, Boolean cache, String event
at cn.bran.japid.compiler.JavaSyntaxTool.parseParams(JavaSyntaxTool.java:92)
at cn.bran.japid.classmeta.TemplateClassMetaData.renderMethod(TemplateClassMetaData.java:129)
at cn.bran.japid.classmeta.AbstractTemplateClassMetaData.generateCode(AbstractTemplateClassMetaData.java:689)
at cn.bran.japid.compiler.JapidAbstractCompiler.hop(JapidAbstractCompiler.java:837)
at cn.bran.japid.compiler.JapidAbstractCompiler.compile(JapidAbstractCompiler.java:91)
at cn.bran.japid.compiler.JapidTemplateTransformer.generate(JapidTemplateTransformer.java:131)
at cn.bran.japid.compiler.TranslateTemplateTask.execute(TranslateTemplateTask.java:141)
at cn.bran.play.JapidCommands.reloadChanged(JapidCommands.java:229)
at cn.bran.play.JapidCommands.reloadChanged(JapidCommands.java:320)
at cn.bran.play.JapidPlugin.beforeDetectingChanges(JapidPlugin.java:86)
at play.plugins.PluginCollection.beforeDetectingChanges(PluginCollection.java:384)
at play.Play.detectChanges(Play.java:560)
at play.Invoker$Invocation.init(Invoker.java:187)
at play.server.PlayHandler$NettyInvocation.init(PlayHandler.java:185)
at play.Invoker$Invocation.run(Invoker.java:263)
at play.server.PlayHandler$NettyInvocation.run(PlayHandler.java:217)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:139)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:909)
at java.lang.Thread.run(Thread.java:662)
default -> Default
works fine, confirmed. Thank you!
Something like this is would be nice: