Difference between revisions of "ExecutionEngine InvokableProfile"

From Gcube Wiki
Jump to: navigation, search
(Java Object)
Line 1: Line 1:
 
=Eclipse Plug-in=
 
=Eclipse Plug-in=
 
=Java Object=
 
 
As a concrete example, lets assume we want to profile the following class
 
 
<source lang=java>
 
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; }
 
}
 
</source>
 
 
The respective Invokable Profile for this Java Object could be the following
 
 
<source lang=xml>
 
<?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>
 
</source>
 
 
Moving into a more complex example let's assume we want to profile the following class
 
 
<source lang=java>
 
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;}
 
}
 
</source>
 
 
The respective Invokable Profile for this Java Object could be the following
 
 
<source lang=xml>
 
<?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>
 
</source>
 

Revision as of 12:13, 12 February 2010

Eclipse Plug-in