2 * Copyright 2011-2012 BitMeister Inc.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package jp.bitmeister.asn1.sample;
18 import java.math.BigInteger;
20 import jp.bitmeister.asn1.annotation.ASN1Alternative;
21 import jp.bitmeister.asn1.annotation.ASN1DefinedTypes;
22 import jp.bitmeister.asn1.annotation.ASN1Element;
23 import jp.bitmeister.asn1.annotation.ASN1Enumeration;
24 import jp.bitmeister.asn1.annotation.ASN1Extendable;
25 import jp.bitmeister.asn1.annotation.ASN1ModuleTags;
26 import jp.bitmeister.asn1.annotation.ASN1Tag;
27 import jp.bitmeister.asn1.type.ASN1Module;
28 import jp.bitmeister.asn1.type.ASN1TagClass;
29 import jp.bitmeister.asn1.type.ASN1TagDefault;
30 import jp.bitmeister.asn1.type.ASN1TagMode;
31 import jp.bitmeister.asn1.type.ASN1Type;
32 import jp.bitmeister.asn1.type.builtin.CHOICE;
33 import jp.bitmeister.asn1.type.builtin.ENUMERATED;
34 import jp.bitmeister.asn1.type.builtin.INTEGER;
35 import jp.bitmeister.asn1.type.builtin.NULL;
36 import jp.bitmeister.asn1.type.builtin.SEQUENCE;
37 import jp.bitmeister.asn1.type.builtin.SEQUENCE_OF;
38 import jp.bitmeister.asn1.type.useful.PrintableString;
39 import jp.bitmeister.asn1.type.useful.UTCTime;
41 @ASN1ModuleTags(ASN1TagDefault.AUTOMATIC_TAGS)
42 @ASN1DefinedTypes(FrightStatus.class)
43 public class FrightStatusTypes extends ASN1Module {
45 public static class FrightNumber extends PrintableString {
47 public FrightNumber() {
51 public FrightNumber(String value) {
56 public static class Airport extends ENUMERATED {
59 public static final int tokyo = 0;
62 public static final int osaka = 1;
65 public static final int nagoya = 2;
68 public static final int fukuoka = 3;
73 public Airport(BigInteger value) {
77 public Airport(long value) {
84 public static class AbstractSequence extends SEQUENCE {
90 public static class Information extends AbstractSequence {
93 public Airport airport;
96 public UTCTime scheduled;
98 @ASN1Element(value = 2, optional = true)
99 public UTCTime actual;
101 public Information() {
104 public Information(Airport airport, UTCTime scheduled,
107 this.airport = airport;
108 this.scheduled = scheduled;
109 this.actual = actual;
114 public static class Status extends CHOICE {
120 public INTEGER delay;
125 public Status(ASN1TagClass tagClass, int tagNumber, ASN1Type data) {
126 super(tagClass, tagNumber, data);
129 public Status(ASN1Type data) {
135 @ASN1Tag(value = 1, tagClass = ASN1TagClass.APPLICATION, tagMode = ASN1TagMode.IMPLICIT)
136 public static class AllFrights extends SEQUENCE_OF<FrightStatus> {
138 public AllFrights() {
139 super(FrightStatus.class);
142 public AllFrights(FrightStatus... components) {
143 super(FrightStatus.class, components);