From dbc87e775dce65e0e048570bd232ef1fa4794fbb Mon Sep 17 00:00:00 2001 From: clemenso Date: Mon, 1 Dec 2008 13:37:39 +0000 Subject: CardChannel schema git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@230 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4 --- .../namespaces/cardchannel/ATRType.java | 100 ++++++++ .../namespaces/cardchannel/AttributeList.java | 71 ++++++ .../namespaces/cardchannel/AttributeType.java | 264 ++++++++++++++++++++ .../namespaces/cardchannel/CommandAPDUType.java | 154 ++++++++++++ .../namespaces/cardchannel/ObjectFactory.java | 170 +++++++++++++ .../namespaces/cardchannel/ResetType.java | 64 +++++ .../namespaces/cardchannel/ResponseAPDUType.java | 161 +++++++++++++ .../namespaces/cardchannel/ResponseType.java | 78 ++++++ .../namespaces/cardchannel/ScriptType.java | 80 +++++++ .../namespaces/cardchannel/VerifyAPDUType.java | 266 +++++++++++++++++++++ 10 files changed, 1408 insertions(+) create mode 100644 utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ATRType.java create mode 100644 utils/src/main/java/at/buergerkarte/namespaces/cardchannel/AttributeList.java create mode 100644 utils/src/main/java/at/buergerkarte/namespaces/cardchannel/AttributeType.java create mode 100644 utils/src/main/java/at/buergerkarte/namespaces/cardchannel/CommandAPDUType.java create mode 100644 utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ObjectFactory.java create mode 100644 utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ResetType.java create mode 100644 utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ResponseAPDUType.java create mode 100644 utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ResponseType.java create mode 100644 utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ScriptType.java create mode 100644 utils/src/main/java/at/buergerkarte/namespaces/cardchannel/VerifyAPDUType.java (limited to 'utils/src') diff --git a/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ATRType.java b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ATRType.java new file mode 100644 index 00000000..9620e66b --- /dev/null +++ b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ATRType.java @@ -0,0 +1,100 @@ + +package at.buergerkarte.namespaces.cardchannel; + +import java.math.BigInteger; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.HexBinaryAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + * Contains the ATR received as reponse to a Reset + * command + * + *

Java class for ATRType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="ATRType">
+ *   <simpleContent>
+ *     <extension base="<http://www.w3.org/2001/XMLSchema>hexBinary">
+ *       <attribute name="rc" type="{http://www.w3.org/2001/XMLSchema}integer" default="0" />
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ATRType", propOrder = { + "value" +}) +public class ATRType { + + @XmlValue + @XmlJavaTypeAdapter(HexBinaryAdapter.class) + @XmlSchemaType(name = "hexBinary") + protected byte[] value; + @XmlAttribute + protected BigInteger rc; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public byte[] getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(byte[] value) { + this.value = ((byte[]) value); + } + + /** + * Gets the value of the rc property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getRc() { + if (rc == null) { + return new BigInteger("0"); + } else { + return rc; + } + } + + /** + * Sets the value of the rc property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setRc(BigInteger value) { + this.rc = value; + } + +} diff --git a/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/AttributeList.java b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/AttributeList.java new file mode 100644 index 00000000..70ad7b91 --- /dev/null +++ b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/AttributeList.java @@ -0,0 +1,71 @@ + +package at.buergerkarte.namespaces.cardchannel; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * Contains a list of attributes + * + *

Java class for AttributeList complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="AttributeList">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Attribute" type="{}AttributeType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AttributeList", propOrder = { + "attribute" +}) +public class AttributeList { + + @XmlElement(name = "Attribute") + protected List attribute; + + /** + * Gets the value of the attribute property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the attribute property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getAttribute().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AttributeType } + * + * + */ + public List getAttribute() { + if (attribute == null) { + attribute = new ArrayList(); + } + return this.attribute; + } + +} diff --git a/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/AttributeType.java b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/AttributeType.java new file mode 100644 index 00000000..60d467e0 --- /dev/null +++ b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/AttributeType.java @@ -0,0 +1,264 @@ + +package at.buergerkarte.namespaces.cardchannel; + +import java.math.BigInteger; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; + + +/** + * Contains an attribute converted from ASN.1 + * + *

Java class for AttributeType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="AttributeType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Integer" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/>
+ *         <element name="Latin1String" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="UTF8String" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="NumericString" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="PrintableString" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="GeneralizedTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="Date" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *       <attribute name="oid" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AttributeType", propOrder = { + "integer", + "latin1String", + "utf8String", + "numericString", + "printableString", + "generalizedTime", + "date" +}) +public class AttributeType { + + @XmlElement(name = "Integer") + protected BigInteger integer; + @XmlElement(name = "Latin1String") + protected String latin1String; + @XmlElement(name = "UTF8String") + protected String utf8String; + @XmlElement(name = "NumericString") + protected String numericString; + @XmlElement(name = "PrintableString") + protected String printableString; + @XmlElement(name = "GeneralizedTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar generalizedTime; + @XmlElement(name = "Date") + protected String date; + @XmlAttribute(required = true) + protected String oid; + + /** + * Gets the value of the integer property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getInteger() { + return integer; + } + + /** + * Sets the value of the integer property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setInteger(BigInteger value) { + this.integer = value; + } + + /** + * Gets the value of the latin1String property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getLatin1String() { + return latin1String; + } + + /** + * Sets the value of the latin1String property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setLatin1String(String value) { + this.latin1String = value; + } + + /** + * Gets the value of the utf8String property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getUTF8String() { + return utf8String; + } + + /** + * Sets the value of the utf8String property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setUTF8String(String value) { + this.utf8String = value; + } + + /** + * Gets the value of the numericString property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getNumericString() { + return numericString; + } + + /** + * Sets the value of the numericString property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setNumericString(String value) { + this.numericString = value; + } + + /** + * Gets the value of the printableString property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getPrintableString() { + return printableString; + } + + /** + * Sets the value of the printableString property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setPrintableString(String value) { + this.printableString = value; + } + + /** + * Gets the value of the generalizedTime property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getGeneralizedTime() { + return generalizedTime; + } + + /** + * Sets the value of the generalizedTime property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setGeneralizedTime(XMLGregorianCalendar value) { + this.generalizedTime = value; + } + + /** + * Gets the value of the date property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getDate() { + return date; + } + + /** + * Sets the value of the date property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setDate(String value) { + this.date = value; + } + + /** + * Gets the value of the oid property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOid() { + return oid; + } + + /** + * Sets the value of the oid property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOid(String value) { + this.oid = value; + } + +} diff --git a/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/CommandAPDUType.java b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/CommandAPDUType.java new file mode 100644 index 00000000..b47359b6 --- /dev/null +++ b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/CommandAPDUType.java @@ -0,0 +1,154 @@ + +package at.buergerkarte.namespaces.cardchannel; + +import java.math.BigInteger; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.HexBinaryAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + * Contains a sequence of bytes send as command APDU to the + * icc + * + *

Java class for CommandAPDUType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="CommandAPDUType">
+ *   <simpleContent>
+ *     <extension base="<http://www.w3.org/2001/XMLSchema>hexBinary">
+ *       <attribute name="sequence" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
+ *       <attribute name="of" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
+ *       <attribute name="expectedSW" type="{http://www.w3.org/2001/XMLSchema}hexBinary" />
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CommandAPDUType", propOrder = { + "value" +}) +public class CommandAPDUType { + + @XmlValue + @XmlJavaTypeAdapter(HexBinaryAdapter.class) + @XmlSchemaType(name = "hexBinary") + protected byte[] value; + @XmlAttribute(required = true) + @XmlSchemaType(name = "positiveInteger") + protected BigInteger sequence; + @XmlAttribute(required = true) + @XmlSchemaType(name = "positiveInteger") + protected BigInteger of; + @XmlAttribute + @XmlJavaTypeAdapter(HexBinaryAdapter.class) + @XmlSchemaType(name = "hexBinary") + protected byte[] expectedSW; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public byte[] getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(byte[] value) { + this.value = ((byte[]) value); + } + + /** + * Gets the value of the sequence property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getSequence() { + return sequence; + } + + /** + * Sets the value of the sequence property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setSequence(BigInteger value) { + this.sequence = value; + } + + /** + * Gets the value of the of property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getOf() { + return of; + } + + /** + * Sets the value of the of property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setOf(BigInteger value) { + this.of = value; + } + + /** + * Gets the value of the expectedSW property. + * + * @return + * possible object is + * {@link String } + * + */ + public byte[] getExpectedSW() { + return expectedSW; + } + + /** + * Sets the value of the expectedSW property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setExpectedSW(byte[] value) { + this.expectedSW = ((byte[]) value); + } + +} diff --git a/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ObjectFactory.java b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ObjectFactory.java new file mode 100644 index 00000000..cb0a163c --- /dev/null +++ b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ObjectFactory.java @@ -0,0 +1,170 @@ + +package at.buergerkarte.namespaces.cardchannel; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlElementDecl; +import javax.xml.bind.annotation.XmlRegistry; +import javax.xml.bind.annotation.adapters.HexBinaryAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; +import javax.xml.namespace.QName; + + +/** + * This object contains factory methods for each + * Java content interface and Java element interface + * generated in the at.buergerkarte.namespaces.cardchannel package. + *

An ObjectFactory allows you to programatically + * construct new instances of the Java representation + * for XML content. The Java representation of XML + * content can consist of schema derived interfaces + * and classes representing the binding of schema + * type definitions, element declarations and model + * groups. Factory methods for each of these are + * provided in this class. + * + */ +@XmlRegistry +public class ObjectFactory { + + private final static QName _Grunddaten_QNAME = new QName("", "Grunddaten"); + private final static QName _Script_QNAME = new QName("", "Script"); + private final static QName _Response_QNAME = new QName("", "Response"); + private final static QName _SVPersonenbindung_QNAME = new QName("", "SV-Personenbindung"); + private final static QName _Status_QNAME = new QName("", "Status"); + private final static QName _EHIC_QNAME = new QName("", "EHIC"); + + /** + * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: at.buergerkarte.namespaces.cardchannel + * + */ + public ObjectFactory() { + } + + /** + * Create an instance of {@link AttributeList } + * + */ + public AttributeList createAttributeList() { + return new AttributeList(); + } + + /** + * Create an instance of {@link AttributeType } + * + */ + public AttributeType createAttributeType() { + return new AttributeType(); + } + + /** + * Create an instance of {@link ScriptType } + * + */ + public ScriptType createScriptType() { + return new ScriptType(); + } + + /** + * Create an instance of {@link ATRType } + * + */ + public ATRType createATRType() { + return new ATRType(); + } + + /** + * Create an instance of {@link CommandAPDUType } + * + */ + public CommandAPDUType createCommandAPDUType() { + return new CommandAPDUType(); + } + + /** + * Create an instance of {@link ResetType } + * + */ + public ResetType createResetType() { + return new ResetType(); + } + + /** + * Create an instance of {@link VerifyAPDUType } + * + */ + public VerifyAPDUType createVerifyAPDUType() { + return new VerifyAPDUType(); + } + + /** + * Create an instance of {@link ResponseAPDUType } + * + */ + public ResponseAPDUType createResponseAPDUType() { + return new ResponseAPDUType(); + } + + /** + * Create an instance of {@link ResponseType } + * + */ + public ResponseType createResponseType() { + return new ResponseType(); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AttributeList }{@code >}} + * + */ + @XmlElementDecl(namespace = "", name = "Grunddaten") + public JAXBElement createGrunddaten(AttributeList value) { + return new JAXBElement(_Grunddaten_QNAME, AttributeList.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ScriptType }{@code >}} + * + */ + @XmlElementDecl(namespace = "", name = "Script") + public JAXBElement createScript(ScriptType value) { + return new JAXBElement(_Script_QNAME, ScriptType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseType }{@code >}} + * + */ + @XmlElementDecl(namespace = "", name = "Response") + public JAXBElement createResponse(ResponseType value) { + return new JAXBElement(_Response_QNAME, ResponseType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}} + * + */ + @XmlElementDecl(namespace = "", name = "SV-Personenbindung") + @XmlJavaTypeAdapter(HexBinaryAdapter.class) + public JAXBElement createSVPersonenbindung(byte[] value) { + return new JAXBElement(_SVPersonenbindung_QNAME, byte[].class, null, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AttributeList }{@code >}} + * + */ + @XmlElementDecl(namespace = "", name = "Status") + public JAXBElement createStatus(AttributeList value) { + return new JAXBElement(_Status_QNAME, AttributeList.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AttributeList }{@code >}} + * + */ + @XmlElementDecl(namespace = "", name = "EHIC") + public JAXBElement createEHIC(AttributeList value) { + return new JAXBElement(_EHIC_QNAME, AttributeList.class, null, value); + } + +} diff --git a/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ResetType.java b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ResetType.java new file mode 100644 index 00000000..815a3f76 --- /dev/null +++ b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ResetType.java @@ -0,0 +1,64 @@ + +package at.buergerkarte.namespaces.cardchannel; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlType; + + +/** + * Reset the icc and sequence counter + * + *

Java class for ResetType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="ResetType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <attribute name="cold" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ResetType") +public class ResetType { + + @XmlAttribute + protected Boolean cold; + + /** + * Gets the value of the cold property. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public boolean isCold() { + if (cold == null) { + return true; + } else { + return cold; + } + } + + /** + * Sets the value of the cold property. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setCold(Boolean value) { + this.cold = value; + } + +} diff --git a/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ResponseAPDUType.java b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ResponseAPDUType.java new file mode 100644 index 00000000..70cf1963 --- /dev/null +++ b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ResponseAPDUType.java @@ -0,0 +1,161 @@ + +package at.buergerkarte.namespaces.cardchannel; + +import java.math.BigInteger; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.HexBinaryAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + * Contains a sequence of bytes received from the card as response + * APDU + * + *

Java class for ResponseAPDUType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="ResponseAPDUType">
+ *   <simpleContent>
+ *     <extension base="<http://www.w3.org/2001/XMLSchema>hexBinary">
+ *       <attribute name="sequence" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
+ *       <attribute name="rc" type="{http://www.w3.org/2001/XMLSchema}integer" default="0" />
+ *       <attribute name="sw" type="{http://www.w3.org/2001/XMLSchema}hexBinary" default="9000" />
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ResponseAPDUType", propOrder = { + "value" +}) +public class ResponseAPDUType { + + @XmlValue + @XmlJavaTypeAdapter(HexBinaryAdapter.class) + @XmlSchemaType(name = "hexBinary") + protected byte[] value; + @XmlAttribute(required = true) + @XmlSchemaType(name = "positiveInteger") + protected BigInteger sequence; + @XmlAttribute + protected BigInteger rc; + @XmlAttribute + @XmlJavaTypeAdapter(HexBinaryAdapter.class) + @XmlSchemaType(name = "hexBinary") + protected byte[] sw; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public byte[] getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(byte[] value) { + this.value = ((byte[]) value); + } + + /** + * Gets the value of the sequence property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getSequence() { + return sequence; + } + + /** + * Sets the value of the sequence property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setSequence(BigInteger value) { + this.sequence = value; + } + + /** + * Gets the value of the rc property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getRc() { + if (rc == null) { + return new BigInteger("0"); + } else { + return rc; + } + } + + /** + * Sets the value of the rc property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setRc(BigInteger value) { + this.rc = value; + } + + /** + * Gets the value of the sw property. + * + * @return + * possible object is + * {@link String } + * + */ + public byte[] getSw() { + if (sw == null) { + return new HexBinaryAdapter().unmarshal("9000"); + } else { + return sw; + } + } + + /** + * Sets the value of the sw property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setSw(byte[] value) { + this.sw = ((byte[]) value); + } + +} diff --git a/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ResponseType.java b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ResponseType.java new file mode 100644 index 00000000..b92015e3 --- /dev/null +++ b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ResponseType.java @@ -0,0 +1,78 @@ + +package at.buergerkarte.namespaces.cardchannel; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElements; +import javax.xml.bind.annotation.XmlType; + + +/** + * Contains the result of the script executed by the + * BKU + * + *

Java class for ResponseType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="ResponseType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <choice maxOccurs="unbounded">
+ *         <element name="ATR" type="{}ATRType"/>
+ *         <element name="ResponseAPDU" type="{}ResponseAPDUType"/>
+ *       </choice>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ResponseType", propOrder = { + "atrOrResponseAPDU" +}) +public class ResponseType { + + @XmlElements({ + @XmlElement(name = "ATR", type = ATRType.class), + @XmlElement(name = "ResponseAPDU", type = ResponseAPDUType.class) + }) + protected List atrOrResponseAPDU; + + /** + * Gets the value of the atrOrResponseAPDU property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the atrOrResponseAPDU property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getATROrResponseAPDU().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ATRType } + * {@link ResponseAPDUType } + * + * + */ + public List getATROrResponseAPDU() { + if (atrOrResponseAPDU == null) { + atrOrResponseAPDU = new ArrayList(); + } + return this.atrOrResponseAPDU; + } + +} diff --git a/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ScriptType.java b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ScriptType.java new file mode 100644 index 00000000..bff76f06 --- /dev/null +++ b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ScriptType.java @@ -0,0 +1,80 @@ + +package at.buergerkarte.namespaces.cardchannel; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElements; +import javax.xml.bind.annotation.XmlType; + + +/** + * Contains the script to be executed by the BKU + * + *

Java class for ScriptType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="ScriptType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <choice maxOccurs="unbounded">
+ *         <element name="Reset" type="{}ResetType"/>
+ *         <element name="CommandAPDU" type="{}CommandAPDUType"/>
+ *         <element name="VerifyAPDU" type="{}VerifyAPDUType"/>
+ *       </choice>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ScriptType", propOrder = { + "resetOrCommandAPDUOrVerifyAPDU" +}) +public class ScriptType { + + @XmlElements({ + @XmlElement(name = "Reset", type = ResetType.class), + @XmlElement(name = "VerifyAPDU", type = VerifyAPDUType.class), + @XmlElement(name = "CommandAPDU", type = CommandAPDUType.class) + }) + protected List resetOrCommandAPDUOrVerifyAPDU; + + /** + * Gets the value of the resetOrCommandAPDUOrVerifyAPDU property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the resetOrCommandAPDUOrVerifyAPDU property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getResetOrCommandAPDUOrVerifyAPDU().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ResetType } + * {@link VerifyAPDUType } + * {@link CommandAPDUType } + * + * + */ + public List getResetOrCommandAPDUOrVerifyAPDU() { + if (resetOrCommandAPDUOrVerifyAPDU == null) { + resetOrCommandAPDUOrVerifyAPDU = new ArrayList(); + } + return this.resetOrCommandAPDUOrVerifyAPDU; + } + +} diff --git a/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/VerifyAPDUType.java b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/VerifyAPDUType.java new file mode 100644 index 00000000..20d7f3e8 --- /dev/null +++ b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/VerifyAPDUType.java @@ -0,0 +1,266 @@ + +package at.buergerkarte.namespaces.cardchannel; + +import java.math.BigInteger; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.HexBinaryAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + * Contains a sequence of bytes send as command APDU to the icc after a + * PIN entered by the user has been incorporated into the APDU + * + *

Java class for VerifyAPDUType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="VerifyAPDUType">
+ *   <simpleContent>
+ *     <extension base="<http://www.w3.org/2001/XMLSchema>hexBinary">
+ *       <attribute name="sequence" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
+ *       <attribute name="of" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
+ *       <attribute name="expectedSW" type="{http://www.w3.org/2001/XMLSchema}hexBinary" />
+ *       <attribute name="message" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       <attribute name="format" use="required" type="{http://www.w3.org/2001/XMLSchema}hexBinary" />
+ *       <attribute name="offset" use="required" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" />
+ *       <attribute name="timeout" use="required" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" />
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "VerifyAPDUType", propOrder = { + "value" +}) +public class VerifyAPDUType { + + @XmlValue + @XmlJavaTypeAdapter(HexBinaryAdapter.class) + @XmlSchemaType(name = "hexBinary") + protected byte[] value; + @XmlAttribute(required = true) + @XmlSchemaType(name = "positiveInteger") + protected BigInteger sequence; + @XmlAttribute(required = true) + @XmlSchemaType(name = "positiveInteger") + protected BigInteger of; + @XmlAttribute + @XmlJavaTypeAdapter(HexBinaryAdapter.class) + @XmlSchemaType(name = "hexBinary") + protected byte[] expectedSW; + @XmlAttribute(required = true) + protected String message; + @XmlAttribute(required = true) + @XmlJavaTypeAdapter(HexBinaryAdapter.class) + @XmlSchemaType(name = "hexBinary") + protected byte[] format; + @XmlAttribute(required = true) + @XmlSchemaType(name = "nonNegativeInteger") + protected BigInteger offset; + @XmlAttribute(required = true) + @XmlSchemaType(name = "nonNegativeInteger") + protected BigInteger timeout; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public byte[] getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(byte[] value) { + this.value = ((byte[]) value); + } + + /** + * Gets the value of the sequence property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getSequence() { + return sequence; + } + + /** + * Sets the value of the sequence property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setSequence(BigInteger value) { + this.sequence = value; + } + + /** + * Gets the value of the of property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getOf() { + return of; + } + + /** + * Sets the value of the of property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setOf(BigInteger value) { + this.of = value; + } + + /** + * Gets the value of the expectedSW property. + * + * @return + * possible object is + * {@link String } + * + */ + public byte[] getExpectedSW() { + return expectedSW; + } + + /** + * Sets the value of the expectedSW property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setExpectedSW(byte[] value) { + this.expectedSW = ((byte[]) value); + } + + /** + * Gets the value of the message property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getMessage() { + return message; + } + + /** + * Sets the value of the message property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setMessage(String value) { + this.message = value; + } + + /** + * Gets the value of the format property. + * + * @return + * possible object is + * {@link String } + * + */ + public byte[] getFormat() { + return format; + } + + /** + * Sets the value of the format property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setFormat(byte[] value) { + this.format = ((byte[]) value); + } + + /** + * Gets the value of the offset property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getOffset() { + return offset; + } + + /** + * Sets the value of the offset property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setOffset(BigInteger value) { + this.offset = value; + } + + /** + * Gets the value of the timeout property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getTimeout() { + return timeout; + } + + /** + * Sets the value of the timeout property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setTimeout(BigInteger value) { + this.timeout = value; + } + +} -- cgit v1.2.3