Browse Source

The CodeGen for MessageInterface is actually 50 lines less...

JNI-106
heck 5 years ago
parent
commit
a3c787371d
  1. 60
      src/gen_java_Message.ysl2

60
src/gen_java_Message.ysl2

@ -71,6 +71,7 @@ tstylesheet {
public interface «$cname»Interface {
public String encodeMIME();
`` apply "*[name(.)!='enum']", mode=interface
}
||
@ -271,66 +272,15 @@ tstylesheet {
}
template "*", mode=interface {
const "ctype", "name(.)";
const "type" call "toJava" with "type", "name(.)";
const "itype" call "toIntermediate" with "type", "name(.)";
const "name" call "toJava" with "type", "name(*[position()=1])";
choose {
when "$ctype = 'identity'"
||
public «$type» get«$name»();
public void set«$name»(«$type» value);
||
when "$ctype = 'identitylist' or $ctype = 'bloblist' or $ctype = 'stringlist' or $ctype = 'stringpairlist'"
{
const "ename", "substring-after(substring($type,1,string-length($type)-1), '<')";
const "iename" choose {
when "$ctype = 'stringlist'" > byte[]
when "$ctype = 'stringpairlist'" > Pair<byte[],byte[]>
otherwise > _«$ename»
}
const "convget" choose {
when "$ctype = 'stringlist'" > Utils.toUTF16(i)
when "$ctype = 'stringpairlist'" > new Pair<String, String>(Utils.toUTF16(i.first), Utils.toUTF16(i.second))
otherwise > new «$ename»(i)
}
const "convset" choose {
when "$ctype = 'stringlist'" > Utils.toUTF8(i)
when "$ctype = 'stringpairlist'" > new Pair<byte[],byte[]>(Utils.toUTF8(i.first), Utils.toUTF8(i.second))
otherwise > new _«$ename»(i)
}
||
public «$type» get«$name»();
public void set«$name»(«$type» value);
||
}
when "$itype != $type"
||
public «$type» get«$name»();
public void set«$name»(«$type» value);
||
when "$itype != $type"
||
public «$type» get«$name»();
public void set«$name»(«$type» value);
||
||
public «$type» get«$name»();
when "../enum[@name=$ctype]"
||
public «$itype» get«$name»();
public void set«$name»(«$itype» value);
||
public void set«$name»(«$type» value);
otherwise
||
public «$itype» get«$name»();
public void set«$name»(«$itype» value);
||
}
||
}
template "*", mode=value {

Loading…
Cancel
Save