Difference between revisions of "ExecutionEngine InvokableProfile"
From Gcube Wiki
(→Java Object) |
|||
Line 1: | Line 1: | ||
+ | =Eclipse Plug-in= | ||
+ | |||
=Java Object= | =Java Object= | ||
Revision as of 12:13, 12 February 2010
Eclipse Plug-in
Java Object
As a concrete example, lets assume we want to profile the following class
public class Calculator implements IExecutionContextEnabled { private int salt = 0; private IExecutionContext Context = null; public Calculator(){} public Calculator(int salt) {this.salt = salt;} public static int GetProposedSalt(){return 10;} public int add(int []parts) { int count=0; for(int i=0;i<parts.length;i+=1) {count+=parts[i];} return count; } public int add(int [][][]parts) { int count=0; for(int i=0;i<parts.length;i+=1) { for(int q=0;q<parts[i].length;q+=1) { count+=this.add(parts[i][q]); } } return count; } public int[] add(int [][]parts) { int []res=new int[parts.length]; for(int i=0;i<parts.length;i+=1) { int count=0; for(int q=0;q<parts[i].length;q+=1) { count+=parts[i][q]; } res[i]=count; } return res; } public int add(CalculatorHolder []holders) { int count=0; for(int i=0;i<holders.length;i+=1) { count+=(holders[i].X+holders[i].Y); } return count; } public CalculatorHolder[] add(CalculatorHolder [][]holders) { CalculatorHolder []res=new CalculatorHolder[holders.length]; for(int i=0;i<holders.length;i+=1) { int count=0; for(int q=0;q<holders[i].length;q+=1){ count+=(holders[i][q].X+holders[i][q].Y); } res[i]=new CalculatorHolder(); res[i].Result=count; } return res; } public CalculatorHolder[][] random() { CalculatorHolder[][] ret=new CalculatorHolder[3][3]; ret[0][0]=new CalculatorHolder(1); ret[0][1]=new CalculatorHolder(2); ret[0][2]=new CalculatorHolder(3); ret[1][0]=new CalculatorHolder(4); ret[1][1]=new CalculatorHolder(5); ret[1][2]=new CalculatorHolder(6); ret[2][0]=new CalculatorHolder(7); ret[2][1]=new CalculatorHolder(8); ret[2][2]=new CalculatorHolder(9); return ret; } public int add(int x, Integer y) { if (this.Context != null) this.Context.Report("in the process of adding"); return x + y; } public int minus(int x, Integer y){ if (this.Context != null) this.Context.Report("in the process of subtracting"); return x - y; } public int multiply(int x, Integer y) { if (this.Context != null) this.Context.Report("in the process of multiplying"); return x * y; } public int multiplySalted(int x, Integer y) { if (this.Context != null) this.Context.Report("in the process of multiplying with salt"); return x * y * this.salt; } public CalculatorHolder multiplySaltedHolder(CalculatorHolder Holder) { if (this.Context != null) this.Context.Report("in the process of multiplying with salt with holder info"); Holder.Result = Holder.X * Holder.Y * Holder.Salt; return Holder; } public IExecutionContext GetExecutionContext() { return this.Context; } public void SetExecutionContext(IExecutionContext Context) { this.Context = Context; } }
The respective Invokable Profile for this Java Object could be the following
<?xml version="1.0" encoding="UTF-8"?> <execprf:InvocableProfile xmlns:execprf="http://profile.execution.madgik.di.uoa.gr" type="Pojo"> <execprf:item> <execprf:className value="gr.uoa.di.madgik.callables.test.Calculator"/> <execprf:context supported="true"> <execprf:type value="Simple"/> <execprf:keepAlive value="false"/> <execprf:reportsProgress value="true"/> <execprf:gRSProxy value="false"/> </execprf:context> </execprf:item> <execprf:calls> <execprf:call type="Simple"> <execprf:method name="gr.uoa.di.madgik.callables.test.Calculator"/> <execprf:signature>public gr.uoa.di.madgik.callables.test.Calculator()</execprf:signature> </execprf:call> <execprf:call type="Simple"> <execprf:method name="gr.uoa.di.madgik.callables.test.Calculator"/> <execprf:signature>public gr.uoa.di.madgik.callables.test.Calculator(int)</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="salt"/> <execprf:token value="[execprfBeginToken]salt[execprfEndToken]"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> <execprf:converter value="none"/> </execprf:argument> </execprf:call> <execprf:call type="Simple"> <execprf:method name="minus"/> <execprf:signature>public int gr.uoa.di.madgik.callables.test.Calculator.minus(int,java.lang.Integer)</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="x"/> <execprf:token value="[execprfBeginToken]x[execprfEndToken]"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> <execprf:converter value="none"/> </execprf:argument> <execprf:argument type="Simple"> <execprf:order value="1"/> <execprf:name value="y"/> <execprf:token value="[execprfBeginToken]y[execprfEndToken]"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> <execprf:converter value="none"/> </execprf:argument> <execprf:return> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="GetProposedSalt"/> <execprf:signature>public static int gr.uoa.di.madgik.callables.test.Calculator.GetProposedSalt()</execprf:signature> <execprf:return> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="multiplySalted"/> <execprf:signature>public int gr.uoa.di.madgik.callables.test.Calculator.multiplySalted(int,java.lang.Integer)</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="x"/> <execprf:token value="[execprfBeginToken]x[execprfEndToken]"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> <execprf:converter value="none"/> </execprf:argument> <execprf:argument type="Simple"> <execprf:order value="1"/> <execprf:name value="y"/> <execprf:token value="[execprfBeginToken]y[execprfEndToken]"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> <execprf:converter value="none"/> </execprf:argument> <execprf:return> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="multiplySaltedHolder"/> <execprf:signature>public gr.uoa.di.madgik.callables.test.CalculatorHolder gr.uoa.di.madgik.callables.test.Calculator.multiplySaltedHolder(gr.uoa.di.madgik.callables.test.CalculatorHolder)</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="Holder"/> <execprf:token value="[execprfBeginToken]Holder[execprfEndToken]"/> <execprf:type value="gr.uoa.di.madgik.callables.test.CalculatorHolder"/> <execprf:engineType value="Convertable"/> <execprf:converter value="gr.uoa.di.madgik.execution.test.CalculatorHolderConverter"/> </execprf:argument> <execprf:return> <execprf:type value="gr.uoa.di.madgik.callables.test.CalculatorHolder"/> <execprf:engineType value="Convertable"/> <execprf:converter value="gr.uoa.di.madgik.execution.test.CalculatorHolderConverter"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="add"/> <execprf:signature>public int gr.uoa.di.madgik.callables.test.Calculator.add(int[])</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="parts"/> <execprf:token value="[execprfBeginToken]parts[execprfEndToken]"/> <execprf:type value="[I"/> <execprf:engineType value="[IntegerPrimitive"/> <execprf:converter value="none"/> </execprf:argument> <execprf:return> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="add"/> <execprf:signature>public int gr.uoa.di.madgik.callables.test.Calculator.add(int[][][])</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="parts"/> <execprf:token value="[execprfBeginToken]parts[execprfEndToken]"/> <execprf:type value="[[[I"/> <execprf:engineType value="[[[IntegerPrimitive"/> <execprf:converter value="none"/> </execprf:argument> <execprf:return> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="add"/> <execprf:signature>public int[] gr.uoa.di.madgik.callables.test.Calculator.add(int[][])</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="parts"/> <execprf:token value="[execprfBeginToken]parts[execprfEndToken]"/> <execprf:type value="[[I"/> <execprf:engineType value="[[IntegerPrimitive"/> <execprf:converter value="none"/> </execprf:argument> <execprf:return> <execprf:type value="[I"/> <execprf:engineType value="[IntegerPrimitive"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="add"/> <execprf:signature>public int gr.uoa.di.madgik.callables.test.Calculator.add(gr.uoa.di.madgik.callables.test.CalculatorHolder[])</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="holders"/> <execprf:token value="[execprfBeginToken]holders[execprfEndToken]"/> <execprf:type value="[Lgr.uoa.di.madgik.callables.test.CalculatorHolder;"/> <execprf:engineType value="[Convertable"/> <execprf:converter value="gr.uoa.di.madgik.execution.test.CalculatorHolderConverter"/> </execprf:argument> <execprf:return> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="add"/> <execprf:signature>public gr.uoa.di.madgik.callables.test.CalculatorHolder[] gr.uoa.di.madgik.callables.test.Calculator.add(gr.uoa.di.madgik.callables.test.CalculatorHolder[][])</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="holders"/> <execprf:token value="[execprfBeginToken]holders[execprfEndToken]"/> <execprf:type value="[[Lgr.uoa.di.madgik.callables.test.CalculatorHolder;"/> <execprf:engineType value="[[Convertable"/> <execprf:converter value="gr.uoa.di.madgik.execution.test.CalculatorHolderConverter"/> </execprf:argument> <execprf:return> <execprf:type value="[Lgr.uoa.di.madgik.callables.test.CalculatorHolder;"/> <execprf:engineType value="[Convertable"/> <execprf:converter value="gr.uoa.di.madgik.execution.test.CalculatorHolderConverter"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="add"/> <execprf:signature>public int gr.uoa.di.madgik.callables.test.Calculator.add(int,java.lang.Integer)</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="x"/> <execprf:token value="[execprfBeginToken]x[execprfEndToken]"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> <execprf:converter value="none"/> </execprf:argument> <execprf:argument type="Simple"> <execprf:order value="1"/> <execprf:name value="y"/> <execprf:token value="[execprfBeginToken]y[execprfEndToken]"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> <execprf:converter value="none"/> </execprf:argument> <execprf:return> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="random"/> <execprf:signature>public gr.uoa.di.madgik.callables.test.CalculatorHolder[][] gr.uoa.di.madgik.callables.test.Calculator.random()</execprf:signature> <execprf:return> <execprf:type value="[[Lgr.uoa.di.madgik.callables.test.CalculatorHolder;"/> <execprf:engineType value="[[Convertable"/> <execprf:converter value="gr.uoa.di.madgik.execution.test.CalculatorHolderConverter"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="multiply"/> <execprf:signature>public int gr.uoa.di.madgik.callables.test.Calculator.multiply(int,java.lang.Integer)</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="x"/> <execprf:token value="[execprfBeginToken]x[execprfEndToken]"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> <execprf:converter value="none"/> </execprf:argument> <execprf:argument type="Simple"> <execprf:order value="1"/> <execprf:name value="y"/> <execprf:token value="[execprfBeginToken]y[execprfEndToken]"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> <execprf:converter value="none"/> </execprf:argument> <execprf:return> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> </execprf:calls> </execprf:InvocableProfile>
Moving into a more complex example let's assume we want to profile the following class
public class ReflectablesOperator { public ReflectablesOperator(){} public PrimitiveContainer ProduceReflectable() { PrimitiveContainer cont=new PrimitiveContainer(); cont.setBooleanClassField(true); cont.setBooleanPrimitiveField(false); cont.setDoubleClassField(4.6); cont.setDoublePrimitiveField(5.2); cont.setFloatClassField(2.4f); cont.setFloatPrimitiveField(3.6f); cont.setIntegerClassField(3); cont.setIntegerPrimitiveField(4); cont.setStringField("Hello world"); cont.setPoxyLocatorField(new LocalProxyLocator()); cont.setStoreLocatorField(new LocalStoreLocator()); return cont; } public PrimitiveContainer[] ArrayProduceReflectable() { PrimitiveContainer cont=this.ProduceReflectable(); PrimitiveContainer[] arr=new PrimitiveContainer[]{cont,cont,cont}; return arr; } public String ConsumeReflectable(PrimitiveContainer cont) {return cont.toString();} public String ArrayConsumeReflectable(PrimitiveContainer[] cont) { StringBuilder buf=new StringBuilder(); buf.append("<array>"); for(PrimitiveContainer cont1 : cont) { buf.append(cont1.toString()); } buf.append("</array>"); return buf.toString(); } public String ConsumeReflectable(SubPrimitiveContainer cont) { return cont.toString(); } public String ArrayConsumeReflectable(SubPrimitiveContainer[] cont) { StringBuilder buf=new StringBuilder(); buf.append("<array>"); for(SubPrimitiveContainer cont1 : cont) { buf.append(cont1.toString()); } buf.append("</array>"); return buf.toString(); } public ArrayOfPrimitiveContainer ProduceArrayofPrimitives() { ArrayOfPrimitiveContainer cont=new ArrayOfPrimitiveContainer(); cont.setIntegerPrimitiveArray(new int[]{1,2,3,4,5,6,7,8,9}); cont.setIntegerPrimitiveMultiArray(new int[][][][]{ { { {1,2,3},{1,2,3},{1,2,3} }, { {1,2,3},{1,2,3},{1,2,3} }, { {1,2,3},{1,2,3},{1,2,3} } }, { { {1,2,3},{1,2,3},{1,2,3} }, { {1,2,3},{1,2,3},{1,2,3} }, { {1,2,3},{1,2,3},{1,2,3} } }, { { {1,2,3},{1,2,3},{1,2,3} }, { {1,2,3},{1,2,3},{1,2,3} }, { {1,2,3},{1,2,3},{1,2,3} } } }); return cont; } public ArrayOfPrimitiveContainer[] ArrayProduceArrayofPrimitives() { ArrayOfPrimitiveContainer cont=new ArrayOfPrimitiveContainer(); cont.setIntegerPrimitiveArray(new int[]{1,2,3,4,5,6,7,8,9}); cont.setIntegerPrimitiveMultiArray(new int[][][][]{ { { {1,2,3},{1,2,3},{1,2,3} }, { {1,2,3},{1,2,3},{1,2,3} }, { {1,2,3},{1,2,3},{1,2,3} } }, { { {1,2,3},{1,2,3},{1,2,3} }, { {1,2,3},{1,2,3},{1,2,3} }, { {1,2,3},{1,2,3},{1,2,3} } }, { { {1,2,3},{1,2,3},{1,2,3} }, { {1,2,3},{1,2,3},{1,2,3} }, { {1,2,3},{1,2,3},{1,2,3} } } }); return new ArrayOfPrimitiveContainer[]{cont,cont,cont}; } public String ConsumeArrayofPrimitives(ArrayOfPrimitiveContainer cont){ return cont.toString(); } public String ArrayConsumeArrayofPrimitives(ArrayOfPrimitiveContainer []cont) { StringBuilder buf=new StringBuilder(); buf.append("<array>"); for(ArrayOfPrimitiveContainer cont1 : cont) { buf.append(cont1.toString()); } buf.append("</array>"); return buf.toString(); } public ArrayOfContainers ProduceArrayofContainers() { PrimitiveContainer cont=this.ProduceReflectable(); ArrayOfContainers cont2=new ArrayOfContainers(); cont2.setCont(cont); cont2.setOneDContainers(new PrimitiveContainer[]{cont,cont,cont}); cont2.setMultiDContainers(new PrimitiveContainer[][][][]{ { { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} }, { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} }, { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} } } , { { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} }, { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} }, { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} } }}); return cont2; } public ArrayOfContainers []ArrayProduceArrayofContainers() { PrimitiveContainer cont=this.ProduceReflectable(); ArrayOfContainers cont2=new ArrayOfContainers(); cont2.setCont(cont); cont2.setOneDContainers(new PrimitiveContainer[]{cont,cont,cont}); cont2.setMultiDContainers(new PrimitiveContainer[][][][]{ { { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} }, { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} }, { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} } } , { { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} }, { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} }, { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} } }}); return new ArrayOfContainers[]{cont2,cont2,cont2}; } public String ConsumeArrayofContainers(ArrayOfContainers cont) { return cont.toString(); } public String ArrayConsumeArrayofContainers(ArrayOfContainers []cont) { StringBuilder buf=new StringBuilder(); buf.append("<array>"); for(ArrayOfContainers cont1 : cont) { buf.append(cont1.toString()); } buf.append("</array>"); return buf.toString(); } public String ConsumeArrayofSubContainers(ArrayOfSubContainers cont) { return cont.toString(); } public String ArrayConsumeArrayofSubContainers(ArrayOfSubContainers []cont) { StringBuilder buf=new StringBuilder(); buf.append("<array>"); for(ArrayOfSubContainers cont1 : cont) { buf.append(cont1.toString()); } buf.append("</array>"); return buf.toString(); } } public class ArrayOfContainers { private PrimitiveContainer[] oneDContainers=null; private PrimitiveContainer[][][][] multiDContainers=null; private PrimitiveContainer cont=null; public PrimitiveContainer getCont(){return this.cont;} public void setCont(PrimitiveContainer val){this.cont=val;} public PrimitiveContainer[] getOneDContainers(){return this.oneDContainers;} public void setOneDContainers(PrimitiveContainer[] val){this.oneDContainers=val;} public PrimitiveContainer[][][][] getMultiDContainers(){return this.multiDContainers;} public void setMultiDContainers(PrimitiveContainer[][][][] val){this.multiDContainers=val;} } public class ArrayOfPrimitiveContainer { public int[] integerPrimitiveArray; public int[][][][] integerPrimitiveMultiArray; public void setIntegerPrimitiveArray(int []val){this.integerPrimitiveArray=val;} public int[] getIntegerPrimitiveArray(){return this.integerPrimitiveArray;} public void setIntegerPrimitiveMultiArray(int [][][][]val){this.integerPrimitiveMultiArray=val;} public int[][][][] getIntegerPrimitiveMultiArray(){return this.integerPrimitiveMultiArray;} } public class ArrayOfSubContainers { private PrimitiveContainer[] oneDContainers=null; private SubPrimitiveContainer[][][][] multiDContainers=null; private SubPrimitiveContainer cont=null; public SubPrimitiveContainer getCont(){return this.cont;} public void setCont(SubPrimitiveContainer val){this.cont=val;} public PrimitiveContainer[] getOneDContainers(){return this.oneDContainers;} public void setOneDContainers(PrimitiveContainer[] val){this.oneDContainers=val;} public SubPrimitiveContainer[][][][] getMultiDContainers(){return this.multiDContainers;} public void setMultiDContainers(SubPrimitiveContainer[][][][] val){this.multiDContainers=val;} } public class PrimitiveContainer { private int integerPrimitiveField; private boolean booleanPrimitiveField; private float floatPrimitiveField; private double doublePrimitiveField; private Integer integerClassField; private Boolean booleanClassField; private Float floatClassField; private Double doubleClassField; private String stringField; private IProxyLocator proxyLocatorField; private IStoreLocator storeLocatorField; public int getIntegerPrimitiveField(){return integerPrimitiveField;} public boolean getBooleanPrimitiveField(){return booleanPrimitiveField;} public float getFloatPrimitiveField(){return floatPrimitiveField;} public double getDoublePrimitiveField(){return doublePrimitiveField;} public Integer getIntegerClassField(){return integerClassField;} public Boolean getBooleanClassField(){return booleanClassField;} public Float getFloatClassField(){return floatClassField;} public Double getDoubleClassField(){return doubleClassField;} public String getStringField(){return stringField;} public IProxyLocator getPoxyLocatorField(){return proxyLocatorField;} public IStoreLocator getStoreLocatorField(){return storeLocatorField;} public void setIntegerPrimitiveField(int val){integerPrimitiveField=val;} public void setBooleanPrimitiveField(boolean val){booleanPrimitiveField=val;} public void setFloatPrimitiveField(float val){floatPrimitiveField=val;} public void setDoublePrimitiveField(double val){doublePrimitiveField=val;} public void setIntegerClassField(Integer val){integerClassField=val;} public void setBooleanClassField(Boolean val){booleanClassField=val;} public void setFloatClassField(Float val){floatClassField=val;} public void setDoubleClassField(Double val){doubleClassField=val;} public void setStringField(String val){stringField=val;} public void setPoxyLocatorField(IProxyLocator val){proxyLocatorField=val;} public void setStoreLocatorField(IStoreLocator val){storeLocatorField=val;} } public class SubPrimitiveContainer { private float floatPrimitiveField; private double doublePrimitiveField; private Integer integerClassField; private Boolean booleanClassField; private String stringField; private IProxyLocator proxyLocatorField; public float getFloatPrimitiveField(){return floatPrimitiveField;} public double getDoublePrimitiveField(){return doublePrimitiveField;} public Integer getIntegerClassField(){return integerClassField;} public Boolean getBooleanClassField(){return booleanClassField;} public String getStringField(){return stringField;} public IProxyLocator getPoxyLocatorField(){return proxyLocatorField;} public void setFloatPrimitiveField(float val){floatPrimitiveField=val;} public void setDoublePrimitiveField(double val){doublePrimitiveField=val;} public void setIntegerClassField(Integer val){integerClassField=val;} public void setBooleanClassField(Boolean val){booleanClassField=val;} public void setStringField(String val){stringField=val;} public void setPoxyLocatorField(IProxyLocator val){proxyLocatorField=val;} }
The respective Invokable Profile for this Java Object could be the following
<?xml version="1.0" encoding="UTF-8"?> <execprf:InvocableProfile xmlns:execprf="http://profile.execution.madgik.di.uoa.gr" type="Pojo"> <execprf:item> <execprf:className value="gr.uoa.di.madgik.callables.test.ReflectablesOperator"/> <execprf:context supported="false"/> </execprf:item> <execprf:calls> <execprf:call type="Simple"> <execprf:method name="gr.uoa.di.madgik.callables.test.ReflectablesOperator"/> <execprf:signature>public gr.uoa.di.madgik.callables.test.ReflectablesOperator()</execprf:signature> </execprf:call> <execprf:call type="Simple"> <execprf:method name="ProduceReflectable"/> <execprf:signature>public gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer gr.uoa.di.madgik.callables.test.ReflectablesOperator.ProduceReflectable()</execprf:signature> <execprf:return> <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"/> <execprf:engineType value="Reflectable"/> <execprf:reflectableDescr> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"> <execprf:item> <execprf:name value="StoreLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/> <execprf:engineType value="RecordStore"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveField"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="BooleanPrimitiveField"/> <execprf:type value="boolean"/> <execprf:engineType value="BooleanPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="FloatClassField"/> <execprf:type value="java.lang.Float"/> <execprf:engineType value="FloatClass"/> </execprf:item> <execprf:item> <execprf:name value="DoubleClassField"/> <execprf:type value="java.lang.Double"/> <execprf:engineType value="DoubleClass"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> </execprf:refl> </execprf:reflectableDescr> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="ArrayProduceReflectable"/> <execprf:signature>public gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer[] gr.uoa.di.madgik.callables.test.ReflectablesOperator.ArrayProduceReflectable()</execprf:signature> <execprf:return> <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/> <execprf:engineType value="[Reflectable"/> <execprf:reflectableDescr> <execprf:array type="[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"> <execprf:item> <execprf:name value="DoubleClassField"/> <execprf:type value="java.lang.Double"/> <execprf:engineType value="DoubleClass"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="BooleanPrimitiveField"/> <execprf:type value="boolean"/> <execprf:engineType value="BooleanPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveField"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="FloatClassField"/> <execprf:type value="java.lang.Float"/> <execprf:engineType value="FloatClass"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StoreLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/> <execprf:engineType value="RecordStore"/> </execprf:item> </execprf:refl> </execprf:array> </execprf:reflectableDescr> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="ConsumeReflectable"/> <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ConsumeReflectable(gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer)</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="cont"/> <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/> <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"/> <execprf:engineType value="Reflectable"/> <execprf:reflectableDescr> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="FloatClassField"/> <execprf:type value="java.lang.Float"/> <execprf:engineType value="FloatClass"/> </execprf:item> <execprf:item> <execprf:name value="DoubleClassField"/> <execprf:type value="java.lang.Double"/> <execprf:engineType value="DoubleClass"/> </execprf:item> <execprf:item> <execprf:name value="BooleanPrimitiveField"/> <execprf:type value="boolean"/> <execprf:engineType value="BooleanPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveField"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="StoreLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/> <execprf:engineType value="RecordStore"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> </execprf:refl> </execprf:reflectableDescr> <execprf:converter value="none"/> </execprf:argument> <execprf:return> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="ConsumeReflectable"/> <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ConsumeReflectable(gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer)</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="cont"/> <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/> <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer"/> <execprf:engineType value="Reflectable"/> <execprf:reflectableDescr> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer"> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> </execprf:refl> </execprf:reflectableDescr> <execprf:converter value="none"/> </execprf:argument> <execprf:return> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="ArrayConsumeReflectable"/> <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ArrayConsumeReflectable(gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer[])</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="cont"/> <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/> <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/> <execprf:engineType value="[Reflectable"/> <execprf:reflectableDescr> <execprf:array type="[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="FloatClassField"/> <execprf:type value="java.lang.Float"/> <execprf:engineType value="FloatClass"/> </execprf:item> <execprf:item> <execprf:name value="DoubleClassField"/> <execprf:type value="java.lang.Double"/> <execprf:engineType value="DoubleClass"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveField"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StoreLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/> <execprf:engineType value="RecordStore"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="BooleanPrimitiveField"/> <execprf:type value="boolean"/> <execprf:engineType value="BooleanPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> </execprf:refl> </execprf:array> </execprf:reflectableDescr> <execprf:converter value="none"/> </execprf:argument> <execprf:return> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="ArrayConsumeReflectable"/> <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ArrayConsumeReflectable(gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer[])</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="cont"/> <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/> <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer;"/> <execprf:engineType value="[Reflectable"/> <execprf:reflectableDescr> <execprf:array type="[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer"> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> </execprf:refl> </execprf:array> </execprf:reflectableDescr> <execprf:converter value="none"/> </execprf:argument> <execprf:return> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="ProduceArrayofPrimitives"/> <execprf:signature>public gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer gr.uoa.di.madgik.callables.test.ReflectablesOperator.ProduceArrayofPrimitives()</execprf:signature> <execprf:return> <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer"/> <execprf:engineType value="Reflectable"/> <execprf:reflectableDescr> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer"> <execprf:item> <execprf:name value="IntegerPrimitiveMultiArray"/> <execprf:type value="[[[[I"/> <execprf:engineType value="[[[[IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveArray"/> <execprf:type value="[I"/> <execprf:engineType value="[IntegerPrimitive"/> </execprf:item> </execprf:refl> </execprf:reflectableDescr> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="ArrayProduceArrayofPrimitives"/> <execprf:signature>public gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer[] gr.uoa.di.madgik.callables.test.ReflectablesOperator.ArrayProduceArrayofPrimitives()</execprf:signature> <execprf:return> <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer;"/> <execprf:engineType value="[Reflectable"/> <execprf:reflectableDescr> <execprf:array type="[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer"> <execprf:item> <execprf:name value="IntegerPrimitiveMultiArray"/> <execprf:type value="[[[[I"/> <execprf:engineType value="[[[[IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveArray"/> <execprf:type value="[I"/> <execprf:engineType value="[IntegerPrimitive"/> </execprf:item> </execprf:refl> </execprf:array> </execprf:reflectableDescr> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="ConsumeArrayofPrimitives"/> <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ConsumeArrayofPrimitives(gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer)</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="cont"/> <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/> <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer"/> <execprf:engineType value="Reflectable"/> <execprf:reflectableDescr> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer"> <execprf:item> <execprf:name value="IntegerPrimitiveArray"/> <execprf:type value="[I"/> <execprf:engineType value="[IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveMultiArray"/> <execprf:type value="[[[[I"/> <execprf:engineType value="[[[[IntegerPrimitive"/> </execprf:item> </execprf:refl> </execprf:reflectableDescr> <execprf:converter value="none"/> </execprf:argument> <execprf:return> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="ArrayConsumeArrayofPrimitives"/> <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ArrayConsumeArrayofPrimitives(gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer[])</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="cont"/> <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/> <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer;"/> <execprf:engineType value="[Reflectable"/> <execprf:reflectableDescr> <execprf:array type="[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer"> <execprf:item> <execprf:name value="IntegerPrimitiveMultiArray"/> <execprf:type value="[[[[I"/> <execprf:engineType value="[[[[IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveArray"/> <execprf:type value="[I"/> <execprf:engineType value="[IntegerPrimitive"/> </execprf:item> </execprf:refl> </execprf:array> </execprf:reflectableDescr> <execprf:converter value="none"/> </execprf:argument> <execprf:return> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="ProduceArrayofContainers"/> <execprf:signature>public gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers gr.uoa.di.madgik.callables.test.ReflectablesOperator.ProduceArrayofContainers()</execprf:signature> <execprf:return> <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers"/> <execprf:engineType value="Reflectable"/> <execprf:reflectableDescr> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers"> <execprf:item> <execprf:name value="Cont"/> <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"/> <execprf:engineType value="Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"> <execprf:item> <execprf:name value="StoreLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/> <execprf:engineType value="RecordStore"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="BooleanPrimitiveField"/> <execprf:type value="boolean"/> <execprf:engineType value="BooleanPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="FloatClassField"/> <execprf:type value="java.lang.Float"/> <execprf:engineType value="FloatClass"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveField"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="DoubleClassField"/> <execprf:type value="java.lang.Double"/> <execprf:engineType value="DoubleClass"/> </execprf:item> </execprf:refl> </execprf:engineType> </execprf:item> <execprf:item> <execprf:name value="OneDContainers"/> <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/> <execprf:engineType value="[Reflectable"> <execprf:array type="[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="DoubleClassField"/> <execprf:type value="java.lang.Double"/> <execprf:engineType value="DoubleClass"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="StoreLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/> <execprf:engineType value="RecordStore"/> </execprf:item> <execprf:item> <execprf:name value="BooleanPrimitiveField"/> <execprf:type value="boolean"/> <execprf:engineType value="BooleanPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveField"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatClassField"/> <execprf:type value="java.lang.Float"/> <execprf:engineType value="FloatClass"/> </execprf:item> </execprf:refl> </execprf:array> </execprf:engineType> </execprf:item> <execprf:item> <execprf:name value="MultiDContainers"/> <execprf:type value="[[[[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/> <execprf:engineType value="[[[[Reflectable"> <execprf:array type="[[[[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="StoreLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/> <execprf:engineType value="RecordStore"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="BooleanPrimitiveField"/> <execprf:type value="boolean"/> <execprf:engineType value="BooleanPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="DoubleClassField"/> <execprf:type value="java.lang.Double"/> <execprf:engineType value="DoubleClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatClassField"/> <execprf:type value="java.lang.Float"/> <execprf:engineType value="FloatClass"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveField"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> </execprf:refl> </execprf:array> </execprf:engineType> </execprf:item> </execprf:refl> </execprf:reflectableDescr> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="ArrayProduceArrayofContainers"/> <execprf:signature>public gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers[] gr.uoa.di.madgik.callables.test.ReflectablesOperator.ArrayProduceArrayofContainers()</execprf:signature> <execprf:return> <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers;"/> <execprf:engineType value="[Reflectable"/> <execprf:reflectableDescr> <execprf:array type="[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers"> <execprf:item> <execprf:name value="OneDContainers"/> <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/> <execprf:engineType value="[Reflectable"> <execprf:array type="[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="StoreLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/> <execprf:engineType value="RecordStore"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveField"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="FloatClassField"/> <execprf:type value="java.lang.Float"/> <execprf:engineType value="FloatClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="BooleanPrimitiveField"/> <execprf:type value="boolean"/> <execprf:engineType value="BooleanPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="DoubleClassField"/> <execprf:type value="java.lang.Double"/> <execprf:engineType value="DoubleClass"/> </execprf:item> </execprf:refl> </execprf:array> </execprf:engineType> </execprf:item> <execprf:item> <execprf:name value="MultiDContainers"/> <execprf:type value="[[[[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/> <execprf:engineType value="[[[[Reflectable"> <execprf:array type="[[[[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"> <execprf:item> <execprf:name value="IntegerPrimitiveField"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="BooleanPrimitiveField"/> <execprf:type value="boolean"/> <execprf:engineType value="BooleanPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="DoubleClassField"/> <execprf:type value="java.lang.Double"/> <execprf:engineType value="DoubleClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatClassField"/> <execprf:type value="java.lang.Float"/> <execprf:engineType value="FloatClass"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StoreLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/> <execprf:engineType value="RecordStore"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> </execprf:refl> </execprf:array> </execprf:engineType> </execprf:item> <execprf:item> <execprf:name value="Cont"/> <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"/> <execprf:engineType value="Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"> <execprf:item> <execprf:name value="IntegerPrimitiveField"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="FloatClassField"/> <execprf:type value="java.lang.Float"/> <execprf:engineType value="FloatClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="BooleanPrimitiveField"/> <execprf:type value="boolean"/> <execprf:engineType value="BooleanPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="StoreLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/> <execprf:engineType value="RecordStore"/> </execprf:item> <execprf:item> <execprf:name value="DoubleClassField"/> <execprf:type value="java.lang.Double"/> <execprf:engineType value="DoubleClass"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> </execprf:refl> </execprf:engineType> </execprf:item> </execprf:refl> </execprf:array> </execprf:reflectableDescr> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="ConsumeArrayofContainers"/> <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ConsumeArrayofContainers(gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers)</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="cont"/> <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/> <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers"/> <execprf:engineType value="Reflectable"/> <execprf:reflectableDescr> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers"> <execprf:item> <execprf:name value="OneDContainers"/> <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/> <execprf:engineType value="[Reflectable"> <execprf:array type="[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StoreLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/> <execprf:engineType value="RecordStore"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveField"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="DoubleClassField"/> <execprf:type value="java.lang.Double"/> <execprf:engineType value="DoubleClass"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatClassField"/> <execprf:type value="java.lang.Float"/> <execprf:engineType value="FloatClass"/> </execprf:item> <execprf:item> <execprf:name value="BooleanPrimitiveField"/> <execprf:type value="boolean"/> <execprf:engineType value="BooleanPrimitive"/> </execprf:item> </execprf:refl> </execprf:array> </execprf:engineType> </execprf:item> <execprf:item> <execprf:name value="MultiDContainers"/> <execprf:type value="[[[[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/> <execprf:engineType value="[[[[Reflectable"> <execprf:array type="[[[[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"> <execprf:item> <execprf:name value="BooleanPrimitiveField"/> <execprf:type value="boolean"/> <execprf:engineType value="BooleanPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StoreLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/> <execprf:engineType value="RecordStore"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="DoubleClassField"/> <execprf:type value="java.lang.Double"/> <execprf:engineType value="DoubleClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveField"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatClassField"/> <execprf:type value="java.lang.Float"/> <execprf:engineType value="FloatClass"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> </execprf:refl> </execprf:array> </execprf:engineType> </execprf:item> <execprf:item> <execprf:name value="Cont"/> <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"/> <execprf:engineType value="Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="DoubleClassField"/> <execprf:type value="java.lang.Double"/> <execprf:engineType value="DoubleClass"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveField"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="FloatClassField"/> <execprf:type value="java.lang.Float"/> <execprf:engineType value="FloatClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="BooleanPrimitiveField"/> <execprf:type value="boolean"/> <execprf:engineType value="BooleanPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StoreLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/> <execprf:engineType value="RecordStore"/> </execprf:item> </execprf:refl> </execprf:engineType> </execprf:item> </execprf:refl> </execprf:reflectableDescr> <execprf:converter value="none"/> </execprf:argument> <execprf:return> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="ArrayConsumeArrayofContainers"/> <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ArrayConsumeArrayofContainers(gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers[])</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="cont"/> <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/> <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers;"/> <execprf:engineType value="[Reflectable"/> <execprf:reflectableDescr> <execprf:array type="[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers"> <execprf:item> <execprf:name value="OneDContainers"/> <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/> <execprf:engineType value="[Reflectable"> <execprf:array type="[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="BooleanPrimitiveField"/> <execprf:type value="boolean"/> <execprf:engineType value="BooleanPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatClassField"/> <execprf:type value="java.lang.Float"/> <execprf:engineType value="FloatClass"/> </execprf:item> <execprf:item> <execprf:name value="DoubleClassField"/> <execprf:type value="java.lang.Double"/> <execprf:engineType value="DoubleClass"/> </execprf:item> <execprf:item> <execprf:name value="StoreLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/> <execprf:engineType value="RecordStore"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveField"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> </execprf:refl> </execprf:array> </execprf:engineType> </execprf:item> <execprf:item> <execprf:name value="Cont"/> <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"/> <execprf:engineType value="Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"> <execprf:item> <execprf:name value="IntegerPrimitiveField"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="BooleanPrimitiveField"/> <execprf:type value="boolean"/> <execprf:engineType value="BooleanPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="DoubleClassField"/> <execprf:type value="java.lang.Double"/> <execprf:engineType value="DoubleClass"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="StoreLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/> <execprf:engineType value="RecordStore"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="FloatClassField"/> <execprf:type value="java.lang.Float"/> <execprf:engineType value="FloatClass"/> </execprf:item> </execprf:refl> </execprf:engineType> </execprf:item> <execprf:item> <execprf:name value="MultiDContainers"/> <execprf:type value="[[[[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/> <execprf:engineType value="[[[[Reflectable"> <execprf:array type="[[[[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"> <execprf:item> <execprf:name value="StoreLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/> <execprf:engineType value="RecordStore"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="DoubleClassField"/> <execprf:type value="java.lang.Double"/> <execprf:engineType value="DoubleClass"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveField"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatClassField"/> <execprf:type value="java.lang.Float"/> <execprf:engineType value="FloatClass"/> </execprf:item> <execprf:item> <execprf:name value="BooleanPrimitiveField"/> <execprf:type value="boolean"/> <execprf:engineType value="BooleanPrimitive"/> </execprf:item> </execprf:refl> </execprf:array> </execprf:engineType> </execprf:item> </execprf:refl> </execprf:array> </execprf:reflectableDescr> <execprf:converter value="none"/> </execprf:argument> <execprf:return> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="ConsumeArrayofSubContainers"/> <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ConsumeArrayofSubContainers(gr.uoa.di.madgik.callables.test.reflectable.ArrayOfSubContainers)</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="cont"/> <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/> <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfSubContainers"/> <execprf:engineType value="Reflectable"/> <execprf:reflectableDescr> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfSubContainers"> <execprf:item> <execprf:name value="MultiDContainers"/> <execprf:type value="[[[[Lgr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer;"/> <execprf:engineType value="[[[[Reflectable"> <execprf:array type="[[[[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer"> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> </execprf:refl> </execprf:array> </execprf:engineType> </execprf:item> <execprf:item> <execprf:name value="OneDContainers"/> <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/> <execprf:engineType value="[Reflectable"> <execprf:array type="[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"> <execprf:item> <execprf:name value="DoubleClassField"/> <execprf:type value="java.lang.Double"/> <execprf:engineType value="DoubleClass"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveField"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatClassField"/> <execprf:type value="java.lang.Float"/> <execprf:engineType value="FloatClass"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="BooleanPrimitiveField"/> <execprf:type value="boolean"/> <execprf:engineType value="BooleanPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StoreLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/> <execprf:engineType value="RecordStore"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> </execprf:refl> </execprf:array> </execprf:engineType> </execprf:item> <execprf:item> <execprf:name value="Cont"/> <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer"/> <execprf:engineType value="Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer"> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> </execprf:refl> </execprf:engineType> </execprf:item> </execprf:refl> </execprf:reflectableDescr> <execprf:converter value="none"/> </execprf:argument> <execprf:return> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> <execprf:call type="Simple"> <execprf:method name="ArrayConsumeArrayofSubContainers"/> <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ArrayConsumeArrayofSubContainers(gr.uoa.di.madgik.callables.test.reflectable.ArrayOfSubContainers[])</execprf:signature> <execprf:argument type="Simple"> <execprf:order value="0"/> <execprf:name value="cont"/> <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/> <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.ArrayOfSubContainers;"/> <execprf:engineType value="[Reflectable"/> <execprf:reflectableDescr> <execprf:array type="[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfSubContainers"> <execprf:item> <execprf:name value="MultiDContainers"/> <execprf:type value="[[[[Lgr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer;"/> <execprf:engineType value="[[[[Reflectable"> <execprf:array type="[[[[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer"> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> </execprf:refl> </execprf:array> </execprf:engineType> </execprf:item> <execprf:item> <execprf:name value="OneDContainers"/> <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/> <execprf:engineType value="[Reflectable"> <execprf:array type="[Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="StoreLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/> <execprf:engineType value="RecordStore"/> </execprf:item> <execprf:item> <execprf:name value="BooleanPrimitiveField"/> <execprf:type value="boolean"/> <execprf:engineType value="BooleanPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="IntegerPrimitiveField"/> <execprf:type value="int"/> <execprf:engineType value="IntegerPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="DoubleClassField"/> <execprf:type value="java.lang.Double"/> <execprf:engineType value="DoubleClass"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="FloatClassField"/> <execprf:type value="java.lang.Float"/> <execprf:engineType value="FloatClass"/> </execprf:item> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> </execprf:refl> </execprf:array> </execprf:engineType> </execprf:item> <execprf:item> <execprf:name value="Cont"/> <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer"/> <execprf:engineType value="Reflectable"> <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer"> <execprf:item> <execprf:name value="StringField"/> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> </execprf:item> <execprf:item> <execprf:name value="DoublePrimitiveField"/> <execprf:type value="double"/> <execprf:engineType value="DoublePrimitive"/> </execprf:item> <execprf:item> <execprf:name value="PoxyLocatorField"/> <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/> <execprf:engineType value="ResultSet"/> </execprf:item> <execprf:item> <execprf:name value="IntegerClassField"/> <execprf:type value="java.lang.Integer"/> <execprf:engineType value="IntegerClass"/> </execprf:item> <execprf:item> <execprf:name value="BooleanClassField"/> <execprf:type value="java.lang.Boolean"/> <execprf:engineType value="BooleanClass"/> </execprf:item> <execprf:item> <execprf:name value="FloatPrimitiveField"/> <execprf:type value="float"/> <execprf:engineType value="FloatPrimitive"/> </execprf:item> </execprf:refl> </execprf:engineType> </execprf:item> </execprf:refl> </execprf:array> </execprf:reflectableDescr> <execprf:converter value="none"/> </execprf:argument> <execprf:return> <execprf:type value="java.lang.String"/> <execprf:engineType value="String"/> <execprf:converter value="none"/> </execprf:return> </execprf:call> </execprf:calls> </execprf:InvocableProfile>