summaryrefslogblamecommitdiffstats
path: root/src/main/java/org/uic/barcode/ticket/api/asn/omv3/IncludedOpenTicketType.java
blob: 4e9d294fc68e29bbe2766285aaff83f490a52578 (plain) (tree)











































                                                                                  
                                             








































                                                                         
                                            















                                                        
                                                          


























































































































































































































































































                                                                                                   
                                                                                                                      



                                                                           
                                                                                                                       









                                                                                                   









                                                      















                                                                                                  



                                                        




                                                                                                                        














                                                        



                                                                                                                              














                                                        
                                                     
                                                        
                                                                                                                                                           
                         
                                                                                                                                                            






















                                                                       
/*
 *   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 <http://www.gnu.org/licenses/>.
 *
 */
package org.uic.barcode.ticket.api.asn.omv3;

import java.util.Date;
import java.util.List;

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.HasExtensionMarker;
import org.uic.barcode.asn1.datatypes.IntRange;
import org.uic.barcode.asn1.datatypes.RestrictedString;
import org.uic.barcode.asn1.datatypes.Sequence;
import org.uic.barcode.asn1.datatypes.SizeRange;
import org.uic.barcode.asn1.datatypesimpl.SequenceOfStringIA5;
import org.uic.barcode.ticket.api.utils.DateTimeUtils;

@Sequence
@HasExtensionMarker
public class IncludedOpenTicketType extends Object {
	public IncludedOpenTicketType() {
	}

	@FieldOrder(order = 0)
	@IntRange(minValue=1,maxValue=32000)
	@Asn1Optional public Long productOwnerNum;

	@FieldOrder(order = 1)
	@RestrictedString(CharacterRestriction.IA5String)
	@Asn1Optional public String productOwnerIA5;

	@FieldOrder(order = 2)
	@IntRange(minValue=0,maxValue=65535)
	@Asn1Optional public Long productIdNum;

	@FieldOrder(order = 3)
	@RestrictedString(CharacterRestriction.IA5String)
	@Asn1Optional public String productIdIA5;

	@FieldOrder(order = 4)
	@Asn1Optional public Asn1BigInteger externalIssuerId;

	@FieldOrder(order = 5)
	@Asn1Optional public Asn1BigInteger issuerAutorizationId;

	@FieldOrder(order = 6)
	@Asn1Default("stationUIC")
	@Asn1Optional public CodeTableType stationCodeTable;

	@FieldOrder(order = 7)
	@Asn1Optional public SequenceOfRegionalValidityType validRegion;

	@FieldOrder(order = 8)
	@IntRange(minValue=-367,maxValue=700)
	@Asn1Default(value = "0")
	@Asn1Optional public Long validFromDay;

	@FieldOrder(order = 9)
	@IntRange(minValue=0,maxValue=1439)
	@Asn1Optional public Long validFromTime;
	
	@FieldOrder(order = 10)
	@IntRange(minValue=-60, maxValue=60)
	@Asn1Optional public Long validFromUTCOffset;

	@FieldOrder(order = 11)
	@IntRange(minValue=-1,maxValue=500)
	@Asn1Default(value = "0")
	@Asn1Optional public Long validUntilDay;

	@FieldOrder(order = 12)
	@IntRange(minValue=0,maxValue=1439)
	@Asn1Optional public Long validUntilTime;
	
	@FieldOrder(order = 13)
	@IntRange(minValue=-60, maxValue=60)
	@Asn1Optional public Long validUntilUTCOffset;

	@FieldOrder(order = 14)
	@Asn1Optional public TravelClassType classCode;

	@FieldOrder(order = 15)
	@SizeRange(minValue = 1, maxValue = 2)
	@RestrictedString(CharacterRestriction.IA5String)
	@Asn1Optional public String serviceLevel;

	@FieldOrder(order = 16)
	@Asn1Optional public SequenceOfCarrierNum includedCarriersNum;

	@FieldOrder(order = 17)
	@Asn1Optional public SequenceOfStringIA5 includedCarriersIA5;

	@FieldOrder(order = 18)
	@Asn1Optional public SequenceOfServiceBrands includedServiceBrands;

	@FieldOrder(order = 19)
	@Asn1Optional public SequenceOfServiceBrands excludedServiceBrands;

	@FieldOrder(order = 20)
	@Asn1Optional public SequenceOfTariffType tariffs;

	@FieldOrder(order = 21)
	@RestrictedString(CharacterRestriction.UTF8String)
	@Asn1Optional public String infoText;

	@FieldOrder(order = 22)
	@Asn1Optional public SequenceOfTransportTypes includedTransportTypes;

	@FieldOrder(order = 23)
	@Asn1Optional public SequenceOfTransportTypes excludedTransportTypes;	

	@FieldOrder(order = 24)
	@Asn1Optional public ExtensionData extension;

	public Long getProductOwnerNum() {

		return this.productOwnerNum;
	}

	public String getProductOwnerIA5() {

		return this.productOwnerIA5;
	}

	public Long getProductIdNum() {

		return this.productIdNum;
	}

	public String getProductIdIA5() {

		return this.productIdIA5;
	}

	public Long getExternalIssuerId() {

		return Asn1BigInteger.toLong(this.externalIssuerId);
	}

	public Long getIssuerAutorizationId() {

		return Asn1BigInteger.toLong(this.issuerAutorizationId);
	}

	public CodeTableType getStationCodeTable() {
		
		if (stationCodeTable == null) {
			return CodeTableType.stationUIC;
		}

		return this.stationCodeTable;
	}

	public List<RegionalValidityType> getValidRegion() {

		return this.validRegion;
	}

	public Long getValidFromDay() {

		return this.validFromDay;
	}

	public Long getValidFromTime() {

		return this.validFromTime;
	}

	public Long getValidUntilDay() {

		return this.validUntilDay;
	}

	public Long getValidUntilTime() {

		return this.validUntilTime;
	}

	public TravelClassType getClassCode() {

		if (classCode == null) {
			return TravelClassType.second;
		}
		
		return this.classCode;
	}

	public String getServiceLevel() {

		return this.serviceLevel;
	}

	public List<Long> getIncludedCarriersNum() {

		return this.includedCarriersNum;
	}

	public List<String> getIncludedCarriersIA5() {

		return this.includedCarriersIA5;
	}

	public List<Long> getIncludedServiceBrands() {

		return this.includedServiceBrands;
	}

	public List<Long> getExcludedServiceBrands() {

		return this.excludedServiceBrands;
	}
	
	

	public SequenceOfTransportTypes getIncludedTransportTypes() {
		return includedTransportTypes;
	}

	public void setIncludedTransportTypes(SequenceOfTransportTypes includedTransportTypes) {
		this.includedTransportTypes = includedTransportTypes;
	}

	public SequenceOfTransportTypes getExcludedTransportTypes() {
		return excludedTransportTypes;
	}

	public void setExcludedTransportTypes(SequenceOfTransportTypes excludedTransportTypes) {
		this.excludedTransportTypes = excludedTransportTypes;
	}

	public List<TariffType> getTariffs() {

		return this.tariffs;
	}

	public String getInfoText() {

		return this.infoText;
	}

	public ExtensionData getExtension() {

		return this.extension;
	}

	public void setProductOwnerNum(Long productOwnerNum) {

		this.productOwnerNum = productOwnerNum;
	}

	public void setProductOwnerIA5(String productOwnerIA5) {

		this.productOwnerIA5 = productOwnerIA5;
	}

	public void setProductIdNum(Long productIdNum) {

		this.productIdNum = productIdNum;
	}

	public void setProductIdIA5(String productIdIA5) {

		this.productIdIA5 = productIdIA5;
	}

	public void setExternalIssuerId(Long externalIssuerId) {

		this.externalIssuerId = Asn1BigInteger.toAsn1(externalIssuerId);
	}

	public void setIssuerAutorizationId(Long issuerAutorizationId) {

		this.issuerAutorizationId = Asn1BigInteger.toAsn1(issuerAutorizationId);
	}

	public void setStationCodeTable(CodeTableType stationCodeTable) {

		this.stationCodeTable = stationCodeTable;
	}

	public void setValidRegion(SequenceOfRegionalValidityType validRegion) {

		this.validRegion = validRegion;
	}

	public void setValidFromDay(Long validFromDay) {

		this.validFromDay = validFromDay;
	}

	public void setValidFromTime(Long validFromTime) {

		this.validFromTime = validFromTime;
	}

	public void setValidUntilDay(Long validUntilDay) {

		this.validUntilDay = validUntilDay;
	}

	public void setValidUntilTime(Long validUntilTime) {

		this.validUntilTime = validUntilTime;
	}

	public void setClassCode(TravelClassType classCode) {

		this.classCode = classCode;
	}

	public void setServiceLevel(String serviceLevel) {

		this.serviceLevel = serviceLevel;
	}

	public void setIncludedCarriersNum(SequenceOfCarrierNum includedCarriersNum) {

		this.includedCarriersNum = includedCarriersNum;
	}

	public void setIncludedCarriersIA5(SequenceOfStringIA5 includedCarriersIA5) {

		this.includedCarriersIA5 = includedCarriersIA5;
	}

	public void setIncludedServiceBrands(SequenceOfServiceBrands includedServiceBrands) {

		this.includedServiceBrands = includedServiceBrands;
	}

	public void setExcludedServiceBrands(SequenceOfServiceBrands excludedServiceBrands) {

		this.excludedServiceBrands = excludedServiceBrands;
	}

	public void setTariffs(SequenceOfTariffType tariffs) {

		this.tariffs = tariffs;
	}

	public void setInfoText(String infoText) {

		this.infoText = infoText;
	}

	public void setExtension(ExtensionData extension) {

		this.extension = extension;
	}

	public void setValidityDates (Date fromDate, Date untilDate, Date issuingDate){
		
		if (issuingDate == null || fromDate == null) return;
				
		this.validFromDay = DateTimeUtils.getDateDifference(issuingDate,fromDate);
		this.validFromTime =  DateTimeUtils.getTime(fromDate);

		
		if (untilDate != null){
			this.validUntilDay = DateTimeUtils.getDateDifference(fromDate, untilDate);
			this.validUntilTime = DateTimeUtils.getTime(untilDate);
		}

	}
	
	public void setValidFromTimeZone(Date dateLocal, Date dateUTC ) {
		// -- (UTC = local + offset * 15 Minutes)	
		this.validFromUTCOffset = Long.valueOf((dateLocal.getTime() - dateUTC.getTime()) / (1000 * 60 * 15));
	}
	
	public void setValidUntilTimeZone(Date dateLocal, Date dateUTC ) {
		// -- (UTC = local + offset * 15 Minutes)	
		this.validUntilUTCOffset = Long.valueOf((dateLocal.getTime() - dateUTC.getTime()) / (1000 * 60 * 15));
		
		if (this.validFromUTCOffset.longValue() == this.validUntilUTCOffset.longValue()) {
			this.validUntilUTCOffset = null;
		}
	}	
	
	
	
	public Date getValidFromDate(Date issuingDate){
		
		if (issuingDate == null) return null;
		
		if (this.validFromDay == null) {
			this.validFromDay = 0L;
		}
		
		if (this.validFromTime == null) {
			this.validFromTime = 0L;
		}
		
		return DateTimeUtils.getDate(issuingDate, this.validFromDay, this.validFromTime);
		
	}
	
	public Date getValidUntilDate(Date issuingDate){
		
		if (issuingDate == null) return null;
		
		if (this.validFromDay == null) {
			this.validFromDay = 0L;
		}
		
		if (this.validUntilDay == null) {
			return null;
		}		
		
		if (this.getValidUntilTime() == null) {
			this.validUntilTime = 1439L;
		}
		
		return DateTimeUtils.getDate(issuingDate, this.validFromDay + this.validUntilDay, this.validUntilTime);
		
	}
	
	public Date getUTCValidFromDate(Date issuingDate){
		
		if (issuingDate == null) return null;
		
		if (this.validFromDay == null) {
			this.validFromDay = 0L;
		}
		
		if (this.validUntilDay == null) {
			return null;
		}		
		
		if (this.getValidUntilTime() == null) {
			this.validUntilTime = 1439L;
		}
		
		return DateTimeUtils.getUTCDate(issuingDate, this.validFromDay, this.validFromTime, this.validFromUTCOffset);
	}	
	
	public Date getUTCValidUntilDate(Date issuingDate){
		
		if (issuingDate == null) return null;
		
		if (this.validFromDay == null) {
			this.validFromDay = 0L;
		}
		
		if (this.validUntilDay == null) {
			return null;
		}		
		
		if (this.getValidUntilTime() == null) {
			this.validUntilTime = 1439L;
		}
		
		this.getValidUntilDate(issuingDate);
		if (this.validUntilUTCOffset == null) {
			return DateTimeUtils.getUTCDate(issuingDate, this.validFromDay + this.validUntilDay, this.validFromTime, this.validFromUTCOffset);
		} else {
			return DateTimeUtils.getUTCDate(issuingDate, this.validFromDay + this.validUntilDay, this.validUntilTime, this.validFromUTCOffset);
		}
	}

	public Long getValidFromUTCOffset() {
		return validFromUTCOffset;
	}

	public void setValidFromUTCOffset(Long validFromUTCOffset) {
		this.validFromUTCOffset = validFromUTCOffset;
	}

	public Long getValidUntilUTCOffset() {
		return validUntilUTCOffset;
	}

	public void setValidUntilUTCOffset(Long validUntilUTCOffset) {
		this.validUntilUTCOffset = validUntilUTCOffset;
	}	
	
	
	

}