<?xml version="1.0" encoding="ASCII"?>
<javaCardModel:Object
    xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:javaCardModel="javaCardModel"
    xsi:schemaLocation="javaCardModel metamodel/javaCardModel.ecore">
  <applicationClasses
      className="CardTest">
    <fields
        accessSpecifier="public"
        dataType="byte"
        name="THIS_CLA"
        initialValue="0x90"
        isFinal="true"
        isStatic="true"/>
    <fields
        accessSpecifier="public"
        dataType="byte"
        name="INITIALIZE_TRANSACTION"
        initialValue="0x20"
        isFinal="true"
        isStatic="true"/>
    <fields
        accessSpecifier="public"
        dataType="byte"
        name="COMPLETE_TRANSACTION"
        initialValue="0x22"
        isFinal="true"
        isStatic="true"/>
    <fields
        accessSpecifier="public"
        dataType="byte"
        name="INITIALIZE_UPDATE"
        initialValue="0x24"
        isFinal="true"
        isStatic="true"/>
    <fields
        accessSpecifier="public"
        dataType="byte"
        name="COMPLETE_UPDATE"
        initialValue="0x26"
        isFinal="true"
        isStatic="true"/>
    <fields
        accessSpecifier="public"
        dataType="byte"
        name="INIT_SEQUENCE"
        initialValue="{ (byte)0x1, (byte)0x2 }"
        isArray="true"
        isFinal="true"
        isStatic="true"/>
    <fields
        accessSpecifier="public"
        dataType="byte"
        name="COMPLETE_SEQUENCE"
        initialValue="{ (byte)0x1, (byte)0x3 }"
        isArray="true"
        isFinal="true"
        isStatic="true"/>
    <fields
        accessSpecifier="public"
        dataType="byte"
        name="INIT_UPDATE_SEQUENCE"
        initialValue="{ (byte)0x1, (byte)0x2, (byte)0x3 }"
        isArray="true"
        isFinal="true"
        isStatic="true"/>
    <fields
        accessSpecifier="public"
        dataType="byte"
        name="COMPLETE_UPDATE_SEQUENCE"
        initialValue="{ (byte)0x1, (byte)0x1 }"
        isArray="true"
        isFinal="true"
        isStatic="true"/>
    <methods
        accessSpecifier="protected"
        returnType="void"
        methodName="writeBack">
      <parameters
          dataType="APDU"
          name="apdu"/>
      <parameters
          dataType="byte"
          name="bytes"
          isArray="true"/>
      <comments
          commentLine="Example from http://www.informit.com/articles/article.aspx?p=25080"/>
      <apdus
          method="getBuffer">
        <fields
            dataType="byte"
            name="buffer"
            isArray="true"/>
        <instanceVariable
            instanceVariableName="apdu"/>
      </apdus>
      <apdus
          method="setOutgoing">
        <instanceVariable
            instanceVariableName="apdu"/>
      </apdus>
      <apdus
          method="setOutgoingLength">
        <parameters
            name="(short) 3"/>
        <instanceVariable
            instanceVariableName="apdu"/>
      </apdus>
      <apdus
          method="sendBytes">
        <parameters
            name="(short) 0"/>
        <parameters
            name="(short) 3"/>
        <instanceVariable
            instanceVariableName="apdu"/>
      </apdus>
      <apdus
          method="sendBytesLong">
        <parameters
            name="bytes"/>
        <parameters
            name="(short) 0"/>
        <parameters
            name="(short) 0"/>
        <instanceVariable
            instanceVariableName="apdu"/>
      </apdus>
    </methods>
    <applets
        method="process">
      <parameters
          dataType="APDU"
          name="apdu"/>
    </applets>
    <applets
        method="install"/>
  </applicationClasses>
</javaCardModel:Object>
