summaryrefslogblamecommitdiffstats
path: root/src/org/uic/ticket/api/asn/omv1/DelayConfirmation.java
blob: 91a0ce5cdd8ec1d536d0e74e55868632be33085d (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.ticket.api.asn.omv1;

import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.TimeZone;

import net.gcdc.asn1.datatypes.Asn1BigInteger;
import net.gcdc.asn1.datatypes.Asn1Default;

import net.gcdc.asn1.datatypes.Asn1Optional;
import net.gcdc.asn1.datatypes.CharacterRestriction;
import net.gcdc.asn1.datatypes.HasExtensionMarker;
import net.gcdc.asn1.datatypes.IntRange;
import net.gcdc.asn1.datatypes.RestrictedString;
import net.gcdc.asn1.datatypes.Sequence;


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

	@RestrictedString(CharacterRestriction.IA5String)
	@Asn1Optional public String referenceIA5;

	@Asn1Optional public Asn1BigInteger referenceNum;

	@Asn1Optional public Asn1BigInteger trainNum;

	@RestrictedString(CharacterRestriction.IA5String)
	@Asn1Optional public String trainIA5;

	@IntRange(minValue=2016, maxValue=2269)
	@Asn1Optional public Long plannedArrivalYear;

	@IntRange(minValue=1, maxValue=366)
	@Asn1Optional public Long plannedArrivalDay;

	@IntRange(minValue=0, maxValue=1440)
	@Asn1Optional public Long plannedArrivalTime;
	
	@IntRange(minValue=-60, maxValue=60)
	@Asn1Optional public Long departureUTCOffset;

	@Asn1Default(value="stationUIC")
	@Asn1Optional public CodeTableType stationCodeTable;

	@IntRange(minValue=1, maxValue=9999999)
	@Asn1Optional public Long stationNum;

	@RestrictedString(CharacterRestriction.IA5String)
	@Asn1Optional public String stationIA5;

	@RestrictedString(CharacterRestriction.UTF8String)
	@Asn1Optional public String stationNameUTF8;

	@IntRange(minValue=0, maxValue=999, hasExtensionMarker=false)
	@Asn1Optional public Long delay;

	@Asn1Optional public Boolean trainCancelled = false;

	@Asn1Default(value="travelerDelayConfirmation")
	@Asn1Optional public ConfirmationTypeType confirmationType;

	@Asn1Optional public SequenceOfTicketLinkType affectedTickets;

	@RestrictedString(CharacterRestriction.UTF8String)
	@Asn1Optional public String infoText;

	@Asn1Optional public ExtensionData extension;
	


	public String getReferenceIA5() {
		
		return this.referenceIA5;
	}
	
	public Asn1BigInteger getReferenceNum() {
		
		return this.referenceNum;
	}
	
	public Long getTrainNum() {
		
		return Asn1BigInteger.toLong(this.trainNum);
	}
	
	public String getTrainIA5() {
		
		return this.trainIA5;
	}
	
	public Long getPlannedArrivalYear() {
		
		return this.plannedArrivalYear;
	}
	
	public Long getPlannedArrivalDay() {
		
		return this.plannedArrivalDay;
	}
	
	public Long getPlannedArrivalTime() {
		
		return this.plannedArrivalTime;
	}
	
	public CodeTableType getStationCodeTable() {

		if (stationCodeTable == null){
			return CodeTableType.stationUIC;
		}
		return this.stationCodeTable;
	}
	
	public Long getStationNum() {
		
		return this.stationNum;
	}
	
	public String getStationIA5() {
		
		return this.stationIA5;
	}
	
	public String getStationNameUTF8() {
		
		return this.stationNameUTF8;
	}
	
	public Long getDelay() {
		
		return this.delay;
	}
	
	public Boolean getTrainCancelled() {
		
		return this.trainCancelled;
	}
	
	public ConfirmationTypeType getConfirmationType() {
		
		if (confirmationType == null){
			return ConfirmationTypeType.trainDelayConfirmation;
		}
		
		return this.confirmationType;
	}
	
	public List<TicketLinkType> getAffectedTickets() {
		
		return this.affectedTickets;
	}
	
	public String getInfoText() {
		
		return this.infoText;
	}
	
	public ExtensionData getExtension() {
		
		return this.extension;
	}
	
	public void setReferenceIA5(String referenceIA5) {
		
		this.referenceIA5 = referenceIA5;
	}

	public void setReferenceNum(Asn1BigInteger referenceNum) {
		this.referenceNum = referenceNum;
	}
	
	public void setReferenceNum(Long referenceNum) {
		this.referenceNum = Asn1BigInteger.toAsn1(referenceNum);
	}

	public void setTrainNum(Asn1BigInteger trainNum) {
		
		this.trainNum = trainNum;
	}

	public void setTrainIA5(String trainIA5) {
		
		this.trainIA5 = trainIA5;
	}

	public void setPlannedArrivalYear(Long plannedArrivalYear) {
		
		this.plannedArrivalYear = plannedArrivalYear;
	}

	public void setPlannedArrivalDay(Long plannedArrivalDay) {
		
		this.plannedArrivalDay = plannedArrivalDay;
	}

	public void setPlannedArrivalTime(Long plannedArrivalTime) {
		
		this.plannedArrivalTime = plannedArrivalTime;
	}

	public void setStationCodeTable(CodeTableType stationCodeTable) {
		
		this.stationCodeTable = stationCodeTable;
	}

	public void setStationNum(Long stationNum) {
		
		this.stationNum = stationNum;
	}

	public void setStationIA5(String stationIA5) {
		
		this.stationIA5 = stationIA5;
	}

	public void setStationNameUTF8(String stationNameUTF8) {
		
		this.stationNameUTF8 = stationNameUTF8;
	}

	public void setDelay(Long delay) {
		
		this.delay = delay;
	}

	public void setTrainCancelled(Boolean trainCancelled) {
		
		this.trainCancelled = trainCancelled;
	}

	public void setConfirmationType(ConfirmationTypeType confirmationType) {
		
		this.confirmationType = confirmationType;
	}

	public void setAffectedTickets(SequenceOfTicketLinkType affectedTickets) {
		
		this.affectedTickets = affectedTickets;
	}

	public void setInfoText(String infoText) {
		
		this.infoText = infoText;
	}

	public void setExtension(ExtensionData extension) {
		
		this.extension = extension;
	}

	public void setPlannedArrivalDate(Date date){
		
		Calendar cal = Calendar.getInstance();
		cal.setTime(date);
		
		this.plannedArrivalYear = new Long( cal.get(Calendar.YEAR));
		this.plannedArrivalDay = 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.plannedArrivalTime = new Long (time );
		}
		
	}
	
	public Date getPlannedArrivalDate() {
		
		if (this.plannedArrivalYear == null || this.plannedArrivalDay == null) return null;
		
		Calendar cal = Calendar.getInstance();
		cal.clear();
		cal.setTimeZone(TimeZone.getTimeZone("UTC"));
		cal.set(Calendar.YEAR, this.plannedArrivalYear.intValue());
		cal.set(Calendar.DAY_OF_YEAR, this.plannedArrivalDay.intValue());
		
		if (this.plannedArrivalTime != null) {
		
			int hours = this.plannedArrivalTime.intValue() / 60;
			int minutes = this.plannedArrivalTime.intValue() % 60;
			cal.set(Calendar.HOUR_OF_DAY, hours);
			cal.set(Calendar.MINUTE,minutes);

		}
		
		return cal.getTime();
	}

	public Long getDepartureUTCOffset() {
		return departureUTCOffset;
	}

	public void setDepartureUTCOffset(Long departureUTCOffset) {
		this.departureUTCOffset = departureUTCOffset;
	}
	
	
	
}