A more complex example is given by the class MainClass (Mainclass.java):
public class MainClass
{
public boolean _booleanField;
public SubClass _SubClassField;
public String _StringField;
public MainClass(int intPar1)
{
_booleanField = intPar1 > 0 ? true : false;
_SubClassField = new SubClass((short)0);
}
public MainClass(int intPar1, SubClass SubClassPar2)
{
_booleanField = intPar1 > 0 ? true : false;
_SubClassField=SubClassPar2;
}
public int function1()
{
if (_SubClassField._byteArrayField == null)
return 0;
else
return _SubClassField._byteArrayField.length;
}
public SubClass function2(int intPar1)
{
SubClass returnValue = new SubClass(2);
for (int index = 0; index < 5; index++)
{
returnValue._byteArrayField[index] = (byte)intPar1;
}
return returnValue;
}
public char function2(short[] shortArrayPar1)
{
return 'A';
}
public void function3(int intPar1)
{
_StringField = "Value " + intPar1 + "was passed";
}
public byte[] function4(SubClass SubClassPar1, String StringPar2)
{
_StringField = StringPar2;
return SubClassPar1._byteArrayField;
}
}
Notice that this class has a field, a constructor parameter and a method parameter that are of the type SubClass.
In the type tree (install_dir\examples\adapters\javaclas\mainclass.mtt), the following aspects are noteworthy:
For example, if we wanted to invoke two different methods named function2, they would appear in the type tree as function2.1 and function2.2.