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

import net.gcdc.asn1.datatypes.Asn1BigInteger;

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;


import net.gcdc.asn1.datatypesimpl.SequenceOfUnrestrictedLong;

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

	@Asn1Optional public TravelerType customer;

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

	@Asn1Optional public Asn1BigInteger cardIdNum;

	
	@IntRange(minValue=2016,maxValue=2269)
	@Asn1Optional public Long validFromYear;	
	
	@IntRange(minValue=0,maxValue=700)
	@Asn1Optional public Long validFromDay;
	
	@IntRange(minValue=0,maxValue=250)
	@Asn1Optional public Long validUntilYear;		

	@IntRange(minValue=0,maxValue=370)
	@Asn1Optional public Long validUntilDay;


	@Asn1Optional public TravelClassType classCode;

	@IntRange(minValue=0,maxValue=1000)
	@Asn1Optional public Long cardType;

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

	@Asn1Optional public Asn1BigInteger customerStatus;

	@Asn1Optional public String customerStatusDescr;

	@Asn1Optional public SequenceOfUnrestrictedLong includedServices;

	@Asn1Optional public ExtensionData extension;
	
	


	public TravelerType getCustomer() {

		return this.customer;
	}

	public String getCardIdIA5() {

		return this.cardIdIA5;
	}

	public Asn1BigInteger getCardIdNum() {

		return this.cardIdNum;
	}

	public Long getValidFromYear() {

		return this.validFromYear;
	}

	public Long getValidFromDay() {

		return this.validFromDay;
	}

	public Long getValidUntilYear() {

		return this.validUntilYear;
	}

	public Long getValidUntilDay() {

		return this.validUntilDay;
	}

	public TravelClassType getClassCode() {

		return this.classCode;
	}

	public Long getCardType() {

		return this.cardType;
	}

	public String getCardTypeDescr() {

		return this.cardTypeDescr;
	}

	public Long getCustomerStatus() {

		return Asn1BigInteger.toLong(this.customerStatus);
	}

	public String getCustomerStatusDescr() {

		return this.customerStatusDescr;
	}

	public SequenceOfUnrestrictedLong getIncludedServices() {

		return this.includedServices;
	}

	public ExtensionData getExtension() {

		return this.extension;
	}

	public void setCustomer(TravelerType customer) {

		this.customer = customer;
	}

	public void setCardIdIA5(String cardIdIA5) {

		this.cardIdIA5 = cardIdIA5;
	}

	public void setCardIdNum(Asn1BigInteger cardIdNum) {

		this.cardIdNum = cardIdNum;
	}

	public void setCardIdNum(Long cardIdNum) {

		this.cardIdNum = new Asn1BigInteger(cardIdNum);
	}
	
	public void setValidFromYear(Long validFromYear) {

		this.validFromYear = validFromYear;
	}

	public void setValidFromDay(Long validFromDay) {

		this.validFromDay = validFromDay;
	}

	public void setValidUntilYear(Long validUntilYear) {

		this.validUntilYear = validUntilYear;
	}

	public void setValidUntilDay(Long validUntilDay) {

		this.validUntilDay = validUntilDay;
	}

	public void setClassCode(TravelClassType classCode) {

		this.classCode = classCode;
	}

	public void setCardType(Long cardType) {

		this.cardType = cardType;
	}

	public void setCardTypeDescr(String cardTypeDescr) {

		this.cardTypeDescr = cardTypeDescr;
	}

	public void setCustomerStatus(Long customerStatus) {

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

	public void setCustomerStatusDescr(String customerStatusDescr) {

		this.customerStatusDescr = customerStatusDescr;
	}

	public void setIncludedServices(SequenceOfUnrestrictedLong includedServices) {

		this.includedServices = includedServices;
	}

	public void setExtension(ExtensionData extension) {

		this.extension = extension;
	}
	
	public void setValidity (Date fromDate , Date untilDate){
		
		Calendar fromCal = Calendar.getInstance();
		fromCal.clear();
		fromCal.setTime(fromDate);
		
		this.validFromYear = new Long( fromCal.get(Calendar.YEAR));
		this.validFromDay = new Long (fromCal.get(Calendar.DAY_OF_YEAR));
		
		if (untilDate == null) return;

		Calendar untilCal = Calendar.getInstance();
		untilCal.clear();
		untilCal.setTime(untilDate);
			
		int untildays = untilCal.get(Calendar.DAY_OF_YEAR);
		
		int yearDiff = untilCal.get(Calendar.YEAR) - fromCal.get(Calendar.YEAR);
		
		this.validUntilYear = new Long( yearDiff);
		this.validUntilDay = new Long (untildays);
		
	}
	
	public Date getValidFromDate (){
		
		if (this.validFromYear == null || this.validFromYear == 0) return null;
			
			Calendar cal = Calendar.getInstance();
			cal.clear();
			cal.setTimeZone(TimeZone.getTimeZone("UTC"));
			cal.set(Calendar.YEAR, this.validFromYear.intValue());
			cal.set(Calendar.DAY_OF_YEAR, this.validFromDay.intValue());

			return cal.getTime();
			
	}
	
	
	public Date getValidUntilDate (){
		
		if (this.validUntilYear == null || this.validUntilYear == 0) return null;
			
			Calendar cal = Calendar.getInstance();
			cal.clear();
			cal.setTimeZone(TimeZone.getTimeZone("UTC"));
			cal.set(Calendar.YEAR, this.validFromYear.intValue());
			if (this.validUntilYear != null) {
				cal.add(Calendar.YEAR, this.validUntilYear.intValue());
			}
			cal.set(Calendar.DAY_OF_YEAR, this.validUntilDay.intValue());

			return cal.getTime();
		
		}


}