From 119a99ff49d314cf33b94d1c922f5091a26489d6 Mon Sep 17 00:00:00 2001 From: CGantert345 <57003061+CGantert345@users.noreply.github.com> Date: Mon, 28 Jun 2021 16:54:11 +0200 Subject: - initial implementation of FCB version 3.0.0 - !!Tests still missing!! --- .../barcode/ticket/api/asn/omv3/IssuingData.java | 360 +++++++++++++++++++++ 1 file changed, 360 insertions(+) create mode 100644 src/main/java/org/uic/barcode/ticket/api/asn/omv3/IssuingData.java (limited to 'src/main/java/org/uic/barcode/ticket/api/asn/omv3/IssuingData.java') diff --git a/src/main/java/org/uic/barcode/ticket/api/asn/omv3/IssuingData.java b/src/main/java/org/uic/barcode/ticket/api/asn/omv3/IssuingData.java new file mode 100644 index 0000000..537a42a --- /dev/null +++ b/src/main/java/org/uic/barcode/ticket/api/asn/omv3/IssuingData.java @@ -0,0 +1,360 @@ +/* + * This file was generated by openASN.1 - an open source ASN.1 toolkit for java + * + * openASN.1 is Copyright (C) 2007 Clayton Hoss, Marc Weyland + * + * openASN.1 is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. + * + * openASN.1 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with openASN.1. If not, see . + * + */ +package org.uic.barcode.ticket.api.asn.omv3; + +import java.util.Calendar; +import java.util.Date; +import java.util.TimeZone; + +import org.uic.barcode.asn1.datatypes.Asn1BigInteger; +import org.uic.barcode.asn1.datatypes.Asn1Default; +import org.uic.barcode.asn1.datatypes.Asn1Optional; +import org.uic.barcode.asn1.datatypes.CharacterRestriction; +import org.uic.barcode.asn1.datatypes.FieldOrder; +import org.uic.barcode.asn1.datatypes.FixedSize; +import org.uic.barcode.asn1.datatypes.HasExtensionMarker; +import org.uic.barcode.asn1.datatypes.IntRange; +import org.uic.barcode.asn1.datatypes.RestrictedString; +import org.uic.barcode.asn1.datatypes.Sequence; + +@Sequence +@HasExtensionMarker +public class IssuingData extends Object { + public IssuingData() { + } + + @FieldOrder(order = 0) + @IntRange(minValue=1,maxValue=32000) + @Asn1Optional public Long securityProviderNum; + + @FieldOrder(order = 1) + @RestrictedString(CharacterRestriction.IA5String) + @Asn1Optional public String securityProviderIA5; + + @FieldOrder(order = 2) + @IntRange(minValue=1,maxValue=32000) + @Asn1Optional public Long issuerNum; + + @FieldOrder(order = 3) + @RestrictedString(CharacterRestriction.IA5String) + @Asn1Optional public String issuerIA5; + + @FieldOrder(order = 4) + @IntRange(minValue=2016,maxValue=2269) + public Long issuingYear; + + @FieldOrder(order = 5) + @IntRange(minValue=1,maxValue=366) + public Long issuingDay; + + @FieldOrder(order = 6) + @IntRange(minValue=0,maxValue=1439) + public Long issuingTime; + + @FieldOrder(order = 7) + @RestrictedString(CharacterRestriction.UTF8String) + @Asn1Optional public String issuerName; + + @FieldOrder(order = 8) + public Boolean specimen = false; + + @FieldOrder(order = 9) + public Boolean securePaperTicket = false; + + @FieldOrder(order = 10) + public Boolean activated = true; + + @FieldOrder(order = 11) + @FixedSize(3) + @Asn1Default(value="EUR") + @RestrictedString(CharacterRestriction.IA5String) + @Asn1Optional public String currency; + + @FieldOrder(order = 12) + @IntRange(minValue=1,maxValue=3) + @Asn1Default(value="2") + @Asn1Optional public Long currencyFract; + + @FieldOrder(order = 13) + @RestrictedString(CharacterRestriction.IA5String) + @Asn1Optional public String issuerPNR; + + @FieldOrder(order = 14) + @Asn1Optional public ExtensionData extension; + + @FieldOrder(order = 15) + @Asn1Optional public Asn1BigInteger issuedOnTrainNum; + + @FieldOrder(order = 16) + @RestrictedString(CharacterRestriction.IA5String) + @Asn1Optional public String issuedOnTrainIA5; + + @FieldOrder(order = 17) + @Asn1Optional public Asn1BigInteger issuedOnLine; + + @FieldOrder(order = 18) + @Asn1Optional public GeoCoordinateType pointOfSale; + + + + + + + public Long getSecurityProviderNum() { + + return this.securityProviderNum; + } + + public String getSecurityProviderIA5() { + + return this.securityProviderIA5; + } + + public Long getIssuerNum() { + + return this.issuerNum; + } + + public String getIssuerIA5() { + + return this.issuerIA5; + } + + public Long getIssuingYear() { + + return this.issuingYear; + } + + public Long getIssuingDay() { + + return this.issuingDay; + } + + public Long getIssuingTime() { + + return this.issuingTime; + } + + public String getIssuerName() { + + return this.issuerName; + } + + public Boolean getSpecimen() { + + return this.specimen; + } + + public Boolean getSecurePaperTicket() { + + return this.securePaperTicket; + } + + public Boolean getActivated() { + + return this.activated; + } + + public String getCurrency() { + + if (currency == null || currency.length() == 0){ + return "EUR"; + } + + return this.currency; + } + + public Long getCurrencyFract() { + + if (currencyFract == null) { + return new Long(2); + } + return this.currencyFract; + } + + public String getIssuerPNR() { + + return this.issuerPNR; + } + + public ExtensionData getExtension() { + + return this.extension; + } + + public Long getIssuedOnTrainNum() { + + return Asn1BigInteger.toLong(issuedOnTrainNum); + } + + public String getIssuedOnTrainIA5() { + + return this.issuedOnTrainIA5; + } + + public Long getIssuedOnLine() { + + return Asn1BigInteger.toLong(issuedOnLine); + } + + public GeoCoordinateType getPointOfSale() { + + return this.pointOfSale; + } + + public void setSecurityProviderNum(Long securityProviderNum) { + + this.securityProviderNum = securityProviderNum; + } + + public void setSecurityProviderIA5(String securityProviderIA5) { + + this.securityProviderIA5 = securityProviderIA5; + } + + public void setIssuerNum(Long issuerNum) { + + this.issuerNum = issuerNum; + } + + public void setIssuerIA5(String issuerIA5) { + + this.issuerIA5 = issuerIA5; + } + + public void setIssuingYear(Long issuingYear) { + + this.issuingYear = issuingYear; + } + + public void setIssuingDay(Long issuingDay) { + + this.issuingDay = issuingDay; + } + + public void setIssuingTime(Long issuingTime) { + + this.issuingTime = issuingTime; + } + + public void setIssuerName(String issuerName) { + + this.issuerName = issuerName; + } + + public void setSpecimen(Boolean specimen) { + + this.specimen = specimen; + } + + public void setSecurePaperTicket(Boolean securePaperTicket) { + + this.securePaperTicket = securePaperTicket; + } + + public void setActivated(Boolean activated) { + + this.activated = activated; + } + + public void setCurrency(String currency) { + + this.currency = currency; + } + + public void setCurrencyFract(Long currencyFract) { + + this.currencyFract = currencyFract; + } + + public void setIssuerPNR(String issuerPNR) { + + this.issuerPNR = issuerPNR; + } + + public void setExtension(ExtensionData extension) { + + this.extension = extension; + } + + public void setIssuedOnTrainNum(Long issuedOnTrainNum) { + + this.issuedOnTrainNum = Asn1BigInteger.toAsn1(issuedOnTrainNum); + } + + public void setIssuedOnTrainIA5(String issuedOnTrainIA5) { + + this.issuedOnTrainIA5 = issuedOnTrainIA5; + } + + public void setIssuedOnLine(Long issuedOnLine) { + + this.issuedOnLine = Asn1BigInteger.toAsn1(issuedOnLine); + } + + public void setPointOfSale(GeoCoordinateType pointOfSale) { + + this.pointOfSale = pointOfSale; + } + + public void setIssuingDate(Date date){ + + if (date == null) { + date = Calendar.getInstance().getTime(); + } + + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + + this.issuingYear = new Long( cal.get(Calendar.YEAR)); + this.issuingDay = new Long (cal.get(Calendar.DAY_OF_YEAR)); + int time = cal.get(Calendar.HOUR_OF_DAY) * 60 + cal.get(Calendar.MINUTE); + if (time > 0) { + this.issuingTime = new Long (time ); + } + + } + + public Date getIssuingDate() { + + if (this.issuingYear == null || this.issuingDay == null) return null; + + Calendar cal = Calendar.getInstance(); + cal.clear(); + cal.setTimeZone(TimeZone.getTimeZone("UTC")); + cal.set(Calendar.YEAR, this.issuingYear.intValue()); + cal.set(Calendar.DAY_OF_YEAR, this.issuingDay.intValue()); + + if (this.issuingTime != null) { + + int hours = this.issuingTime.intValue() / 60; + int minutes = this.issuingTime.intValue() % 60; + cal.set(Calendar.HOUR_OF_DAY, hours); + cal.set(Calendar.MINUTE,minutes); + + } + + return cal.getTime(); + } + + + + +} -- cgit v1.2.3