1 /*
2  * Copyright (C) 2017 The Android Open Source Project
3  *
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
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16 
17 package android.location.cts.asn1.supl2.supl_start;
18 
19 /*
20  */
21 
22 
23 //
24 //
25 import android.location.cts.asn1.base.Asn1Boolean;
26 import android.location.cts.asn1.base.Asn1Null;
27 import android.location.cts.asn1.base.Asn1Object;
28 import android.location.cts.asn1.base.Asn1Sequence;
29 import android.location.cts.asn1.base.Asn1Tag;
30 import android.location.cts.asn1.base.BitStream;
31 import android.location.cts.asn1.base.BitStreamReader;
32 import android.location.cts.asn1.base.SequenceComponent;
33 import android.location.cts.asn1.supl2.ulp_version_2_parameter_extensions.Ver2_PosTechnology_extension;
34 import com.google.common.collect.ImmutableList;
35 import java.util.Collection;
36 import javax.annotation.Nullable;
37 
38 
39 /**
40 */
41 public  class PosTechnology extends Asn1Sequence {
42   //
43 
44   private static final Asn1Tag TAG_PosTechnology
45       = Asn1Tag.fromClassAndNumber(-1, -1);
46 
PosTechnology()47   public PosTechnology() {
48     super();
49   }
50 
51   @Override
52   @Nullable
getTag()53   protected Asn1Tag getTag() {
54     return TAG_PosTechnology;
55   }
56 
57   @Override
isTagImplicit()58   protected boolean isTagImplicit() {
59     return true;
60   }
61 
getPossibleFirstTags()62   public static Collection<Asn1Tag> getPossibleFirstTags() {
63     if (TAG_PosTechnology != null) {
64       return ImmutableList.of(TAG_PosTechnology);
65     } else {
66       return Asn1Sequence.getPossibleFirstTags();
67     }
68   }
69 
70   /**
71    * Creates a new PosTechnology from encoded stream.
72    */
fromPerUnaligned(byte[] encodedBytes)73   public static PosTechnology fromPerUnaligned(byte[] encodedBytes) {
74     PosTechnology result = new PosTechnology();
75     result.decodePerUnaligned(new BitStreamReader(encodedBytes));
76     return result;
77   }
78 
79   /**
80    * Creates a new PosTechnology from encoded stream.
81    */
fromPerAligned(byte[] encodedBytes)82   public static PosTechnology fromPerAligned(byte[] encodedBytes) {
83     PosTechnology result = new PosTechnology();
84     result.decodePerAligned(new BitStreamReader(encodedBytes));
85     return result;
86   }
87 
88 
89 
isExtensible()90   @Override protected boolean isExtensible() {
91     return true;
92   }
93 
containsExtensionValues()94   @Override public boolean containsExtensionValues() {
95     for (SequenceComponent extensionComponent : getExtensionComponents()) {
96       if (extensionComponent.isExplicitlySet()) return true;
97     }
98     return false;
99   }
100 
101 
102   private PosTechnology.agpsSETassistedType agpsSETassisted_;
getAgpsSETassisted()103   public PosTechnology.agpsSETassistedType getAgpsSETassisted() {
104     return agpsSETassisted_;
105   }
106   /**
107    * @throws ClassCastException if value is not a PosTechnology.agpsSETassistedType
108    */
setAgpsSETassisted(Asn1Object value)109   public void setAgpsSETassisted(Asn1Object value) {
110     this.agpsSETassisted_ = (PosTechnology.agpsSETassistedType) value;
111   }
setAgpsSETassistedToNewInstance()112   public PosTechnology.agpsSETassistedType setAgpsSETassistedToNewInstance() {
113     agpsSETassisted_ = new PosTechnology.agpsSETassistedType();
114     return agpsSETassisted_;
115   }
116 
117   private PosTechnology.agpsSETBasedType agpsSETBased_;
getAgpsSETBased()118   public PosTechnology.agpsSETBasedType getAgpsSETBased() {
119     return agpsSETBased_;
120   }
121   /**
122    * @throws ClassCastException if value is not a PosTechnology.agpsSETBasedType
123    */
setAgpsSETBased(Asn1Object value)124   public void setAgpsSETBased(Asn1Object value) {
125     this.agpsSETBased_ = (PosTechnology.agpsSETBasedType) value;
126   }
setAgpsSETBasedToNewInstance()127   public PosTechnology.agpsSETBasedType setAgpsSETBasedToNewInstance() {
128     agpsSETBased_ = new PosTechnology.agpsSETBasedType();
129     return agpsSETBased_;
130   }
131 
132   private PosTechnology.autonomousGPSType autonomousGPS_;
getAutonomousGPS()133   public PosTechnology.autonomousGPSType getAutonomousGPS() {
134     return autonomousGPS_;
135   }
136   /**
137    * @throws ClassCastException if value is not a PosTechnology.autonomousGPSType
138    */
setAutonomousGPS(Asn1Object value)139   public void setAutonomousGPS(Asn1Object value) {
140     this.autonomousGPS_ = (PosTechnology.autonomousGPSType) value;
141   }
setAutonomousGPSToNewInstance()142   public PosTechnology.autonomousGPSType setAutonomousGPSToNewInstance() {
143     autonomousGPS_ = new PosTechnology.autonomousGPSType();
144     return autonomousGPS_;
145   }
146 
147   private PosTechnology.aFLTType aFLT_;
getAFLT()148   public PosTechnology.aFLTType getAFLT() {
149     return aFLT_;
150   }
151   /**
152    * @throws ClassCastException if value is not a PosTechnology.aFLTType
153    */
setAFLT(Asn1Object value)154   public void setAFLT(Asn1Object value) {
155     this.aFLT_ = (PosTechnology.aFLTType) value;
156   }
setAFLTToNewInstance()157   public PosTechnology.aFLTType setAFLTToNewInstance() {
158     aFLT_ = new PosTechnology.aFLTType();
159     return aFLT_;
160   }
161 
162   private PosTechnology.eCIDType eCID_;
getECID()163   public PosTechnology.eCIDType getECID() {
164     return eCID_;
165   }
166   /**
167    * @throws ClassCastException if value is not a PosTechnology.eCIDType
168    */
setECID(Asn1Object value)169   public void setECID(Asn1Object value) {
170     this.eCID_ = (PosTechnology.eCIDType) value;
171   }
setECIDToNewInstance()172   public PosTechnology.eCIDType setECIDToNewInstance() {
173     eCID_ = new PosTechnology.eCIDType();
174     return eCID_;
175   }
176 
177   private PosTechnology.eOTDType eOTD_;
getEOTD()178   public PosTechnology.eOTDType getEOTD() {
179     return eOTD_;
180   }
181   /**
182    * @throws ClassCastException if value is not a PosTechnology.eOTDType
183    */
setEOTD(Asn1Object value)184   public void setEOTD(Asn1Object value) {
185     this.eOTD_ = (PosTechnology.eOTDType) value;
186   }
setEOTDToNewInstance()187   public PosTechnology.eOTDType setEOTDToNewInstance() {
188     eOTD_ = new PosTechnology.eOTDType();
189     return eOTD_;
190   }
191 
192   private PosTechnology.oTDOAType oTDOA_;
getOTDOA()193   public PosTechnology.oTDOAType getOTDOA() {
194     return oTDOA_;
195   }
196   /**
197    * @throws ClassCastException if value is not a PosTechnology.oTDOAType
198    */
setOTDOA(Asn1Object value)199   public void setOTDOA(Asn1Object value) {
200     this.oTDOA_ = (PosTechnology.oTDOAType) value;
201   }
setOTDOAToNewInstance()202   public PosTechnology.oTDOAType setOTDOAToNewInstance() {
203     oTDOA_ = new PosTechnology.oTDOAType();
204     return oTDOA_;
205   }
206 
207 
208 
209   private Ver2_PosTechnology_extension  extensionVer2_PosTechnology_extension;
getExtensionVer2_PosTechnology_extension()210   public Ver2_PosTechnology_extension getExtensionVer2_PosTechnology_extension() {
211     return extensionVer2_PosTechnology_extension;
212   }
213   /**
214    * @throws ClassCastException if value is not a Ver2_PosTechnology_extension
215    */
setExtensionVer2_PosTechnology_extension(Asn1Object value)216   public void setExtensionVer2_PosTechnology_extension(Asn1Object value) {
217     extensionVer2_PosTechnology_extension = (Ver2_PosTechnology_extension) value;
218   }
setExtensionVer2_PosTechnology_extensionToNewInstance()219   public void setExtensionVer2_PosTechnology_extensionToNewInstance() {
220     extensionVer2_PosTechnology_extension = new Ver2_PosTechnology_extension();
221   }
222 
223 
224 
225 
getComponents()226   @Override public Iterable<? extends SequenceComponent> getComponents() {
227     ImmutableList.Builder<SequenceComponent> builder = ImmutableList.builder();
228 
229     builder.add(new SequenceComponent() {
230           Asn1Tag tag = Asn1Tag.fromClassAndNumber(2, 0);
231 
232           @Override public boolean isExplicitlySet() {
233             return getAgpsSETassisted() != null;
234           }
235 
236           @Override public boolean hasDefaultValue() {
237             return false;
238           }
239 
240           @Override public boolean isOptional() {
241             return false;
242           }
243 
244           @Override public Asn1Object getComponentValue() {
245             return getAgpsSETassisted();
246           }
247 
248           @Override public void setToNewInstance() {
249             setAgpsSETassistedToNewInstance();
250           }
251 
252           @Override public Collection<Asn1Tag> getPossibleFirstTags() {
253             return tag == null ? PosTechnology.agpsSETassistedType.getPossibleFirstTags() : ImmutableList.of(tag);
254           }
255 
256           @Override
257           public Asn1Tag getTag() {
258             return tag;
259           }
260 
261           @Override
262           public boolean isImplicitTagging() {
263             return true;
264           }
265 
266           @Override public String toIndentedString(String indent) {
267                 return "agpsSETassisted : "
268                     + getAgpsSETassisted().toIndentedString(indent);
269               }
270         });
271 
272     builder.add(new SequenceComponent() {
273           Asn1Tag tag = Asn1Tag.fromClassAndNumber(2, 1);
274 
275           @Override public boolean isExplicitlySet() {
276             return getAgpsSETBased() != null;
277           }
278 
279           @Override public boolean hasDefaultValue() {
280             return false;
281           }
282 
283           @Override public boolean isOptional() {
284             return false;
285           }
286 
287           @Override public Asn1Object getComponentValue() {
288             return getAgpsSETBased();
289           }
290 
291           @Override public void setToNewInstance() {
292             setAgpsSETBasedToNewInstance();
293           }
294 
295           @Override public Collection<Asn1Tag> getPossibleFirstTags() {
296             return tag == null ? PosTechnology.agpsSETBasedType.getPossibleFirstTags() : ImmutableList.of(tag);
297           }
298 
299           @Override
300           public Asn1Tag getTag() {
301             return tag;
302           }
303 
304           @Override
305           public boolean isImplicitTagging() {
306             return true;
307           }
308 
309           @Override public String toIndentedString(String indent) {
310                 return "agpsSETBased : "
311                     + getAgpsSETBased().toIndentedString(indent);
312               }
313         });
314 
315     builder.add(new SequenceComponent() {
316           Asn1Tag tag = Asn1Tag.fromClassAndNumber(2, 2);
317 
318           @Override public boolean isExplicitlySet() {
319             return getAutonomousGPS() != null;
320           }
321 
322           @Override public boolean hasDefaultValue() {
323             return false;
324           }
325 
326           @Override public boolean isOptional() {
327             return false;
328           }
329 
330           @Override public Asn1Object getComponentValue() {
331             return getAutonomousGPS();
332           }
333 
334           @Override public void setToNewInstance() {
335             setAutonomousGPSToNewInstance();
336           }
337 
338           @Override public Collection<Asn1Tag> getPossibleFirstTags() {
339             return tag == null ? PosTechnology.autonomousGPSType.getPossibleFirstTags() : ImmutableList.of(tag);
340           }
341 
342           @Override
343           public Asn1Tag getTag() {
344             return tag;
345           }
346 
347           @Override
348           public boolean isImplicitTagging() {
349             return true;
350           }
351 
352           @Override public String toIndentedString(String indent) {
353                 return "autonomousGPS : "
354                     + getAutonomousGPS().toIndentedString(indent);
355               }
356         });
357 
358     builder.add(new SequenceComponent() {
359           Asn1Tag tag = Asn1Tag.fromClassAndNumber(2, 3);
360 
361           @Override public boolean isExplicitlySet() {
362             return getAFLT() != null;
363           }
364 
365           @Override public boolean hasDefaultValue() {
366             return false;
367           }
368 
369           @Override public boolean isOptional() {
370             return false;
371           }
372 
373           @Override public Asn1Object getComponentValue() {
374             return getAFLT();
375           }
376 
377           @Override public void setToNewInstance() {
378             setAFLTToNewInstance();
379           }
380 
381           @Override public Collection<Asn1Tag> getPossibleFirstTags() {
382             return tag == null ? PosTechnology.aFLTType.getPossibleFirstTags() : ImmutableList.of(tag);
383           }
384 
385           @Override
386           public Asn1Tag getTag() {
387             return tag;
388           }
389 
390           @Override
391           public boolean isImplicitTagging() {
392             return true;
393           }
394 
395           @Override public String toIndentedString(String indent) {
396                 return "aFLT : "
397                     + getAFLT().toIndentedString(indent);
398               }
399         });
400 
401     builder.add(new SequenceComponent() {
402           Asn1Tag tag = Asn1Tag.fromClassAndNumber(2, 4);
403 
404           @Override public boolean isExplicitlySet() {
405             return getECID() != null;
406           }
407 
408           @Override public boolean hasDefaultValue() {
409             return false;
410           }
411 
412           @Override public boolean isOptional() {
413             return false;
414           }
415 
416           @Override public Asn1Object getComponentValue() {
417             return getECID();
418           }
419 
420           @Override public void setToNewInstance() {
421             setECIDToNewInstance();
422           }
423 
424           @Override public Collection<Asn1Tag> getPossibleFirstTags() {
425             return tag == null ? PosTechnology.eCIDType.getPossibleFirstTags() : ImmutableList.of(tag);
426           }
427 
428           @Override
429           public Asn1Tag getTag() {
430             return tag;
431           }
432 
433           @Override
434           public boolean isImplicitTagging() {
435             return true;
436           }
437 
438           @Override public String toIndentedString(String indent) {
439                 return "eCID : "
440                     + getECID().toIndentedString(indent);
441               }
442         });
443 
444     builder.add(new SequenceComponent() {
445           Asn1Tag tag = Asn1Tag.fromClassAndNumber(2, 5);
446 
447           @Override public boolean isExplicitlySet() {
448             return getEOTD() != null;
449           }
450 
451           @Override public boolean hasDefaultValue() {
452             return false;
453           }
454 
455           @Override public boolean isOptional() {
456             return false;
457           }
458 
459           @Override public Asn1Object getComponentValue() {
460             return getEOTD();
461           }
462 
463           @Override public void setToNewInstance() {
464             setEOTDToNewInstance();
465           }
466 
467           @Override public Collection<Asn1Tag> getPossibleFirstTags() {
468             return tag == null ? PosTechnology.eOTDType.getPossibleFirstTags() : ImmutableList.of(tag);
469           }
470 
471           @Override
472           public Asn1Tag getTag() {
473             return tag;
474           }
475 
476           @Override
477           public boolean isImplicitTagging() {
478             return true;
479           }
480 
481           @Override public String toIndentedString(String indent) {
482                 return "eOTD : "
483                     + getEOTD().toIndentedString(indent);
484               }
485         });
486 
487     builder.add(new SequenceComponent() {
488           Asn1Tag tag = Asn1Tag.fromClassAndNumber(2, 6);
489 
490           @Override public boolean isExplicitlySet() {
491             return getOTDOA() != null;
492           }
493 
494           @Override public boolean hasDefaultValue() {
495             return false;
496           }
497 
498           @Override public boolean isOptional() {
499             return false;
500           }
501 
502           @Override public Asn1Object getComponentValue() {
503             return getOTDOA();
504           }
505 
506           @Override public void setToNewInstance() {
507             setOTDOAToNewInstance();
508           }
509 
510           @Override public Collection<Asn1Tag> getPossibleFirstTags() {
511             return tag == null ? PosTechnology.oTDOAType.getPossibleFirstTags() : ImmutableList.of(tag);
512           }
513 
514           @Override
515           public Asn1Tag getTag() {
516             return tag;
517           }
518 
519           @Override
520           public boolean isImplicitTagging() {
521             return true;
522           }
523 
524           @Override public String toIndentedString(String indent) {
525                 return "oTDOA : "
526                     + getOTDOA().toIndentedString(indent);
527               }
528         });
529 
530     return builder.build();
531   }
532 
533   @Override public Iterable<? extends SequenceComponent>
getExtensionComponents()534                                                     getExtensionComponents() {
535     ImmutableList.Builder<SequenceComponent> builder = ImmutableList.builder();
536 
537       builder.add(new SequenceComponent() {
538             @Override public boolean isExplicitlySet() {
539               return getExtensionVer2_PosTechnology_extension() != null;
540             }
541 
542             @Override public boolean hasDefaultValue() {
543               return false;
544             }
545 
546             @Override public boolean isOptional() {
547               return true;
548             }
549 
550             @Override public Asn1Object getComponentValue() {
551               return getExtensionVer2_PosTechnology_extension();
552             }
553 
554             @Override public void setToNewInstance() {
555               setExtensionVer2_PosTechnology_extensionToNewInstance();
556             }
557 
558             @Override public Collection<Asn1Tag> getPossibleFirstTags() {
559               throw new UnsupportedOperationException(
560                   "BER decoding not supported for extension elements");
561             }
562 
563             @Override
564             public Asn1Tag getTag() {
565               throw new UnsupportedOperationException(
566                   "BER is not supported for extension elements");
567             }
568 
569             @Override
570             public boolean isImplicitTagging() {
571               throw new UnsupportedOperationException(
572                   "BER is not supported for extension elements");
573             }
574 
575             @Override public String toIndentedString(String indent) {
576               return "ver2_PosTechnology_extension : "
577                   + getExtensionVer2_PosTechnology_extension().toIndentedString(indent);
578             }
579       });
580 
581       return builder.build();
582     }
583 
584 
585 /*
586  */
587 
588 
589 //
590 
591 /**
592  */
593 public static class agpsSETassistedType extends Asn1Boolean {
594   //
595 
596   private static final Asn1Tag TAG_agpsSETassistedType
597       = Asn1Tag.fromClassAndNumber(-1, -1);
598 
agpsSETassistedType()599   public agpsSETassistedType() {
600     super();
601   }
602 
603   @Override
604   @Nullable
getTag()605   protected Asn1Tag getTag() {
606     return TAG_agpsSETassistedType;
607   }
608 
609   @Override
isTagImplicit()610   protected boolean isTagImplicit() {
611     return true;
612   }
613 
getPossibleFirstTags()614   public static Collection<Asn1Tag> getPossibleFirstTags() {
615     if (TAG_agpsSETassistedType != null) {
616       return ImmutableList.of(TAG_agpsSETassistedType);
617     } else {
618       return Asn1Boolean.getPossibleFirstTags();
619     }
620   }
621 
622   /**
623    * Creates a new agpsSETassistedType from encoded stream.
624    */
fromPerUnaligned(byte[] encodedBytes)625   public static agpsSETassistedType fromPerUnaligned(byte[] encodedBytes) {
626     agpsSETassistedType result = new agpsSETassistedType();
627     result.decodePerUnaligned(new BitStreamReader(encodedBytes));
628     return result;
629   }
630 
631   /**
632    * Creates a new agpsSETassistedType from encoded stream.
633    */
fromPerAligned(byte[] encodedBytes)634   public static agpsSETassistedType fromPerAligned(byte[] encodedBytes) {
635     agpsSETassistedType result = new agpsSETassistedType();
636     result.decodePerAligned(new BitStreamReader(encodedBytes));
637     return result;
638   }
639 
encodePerUnaligned()640   @Override public Iterable<BitStream> encodePerUnaligned() {
641     return super.encodePerUnaligned();
642   }
643 
encodePerAligned()644   @Override public Iterable<BitStream> encodePerAligned() {
645     return super.encodePerAligned();
646   }
647 
decodePerUnaligned(BitStreamReader reader)648   @Override public void decodePerUnaligned(BitStreamReader reader) {
649     super.decodePerUnaligned(reader);
650   }
651 
decodePerAligned(BitStreamReader reader)652   @Override public void decodePerAligned(BitStreamReader reader) {
653     super.decodePerAligned(reader);
654   }
655 
toString()656   @Override public String toString() {
657     return toIndentedString("");
658   }
659 
toIndentedString(String indent)660   public String toIndentedString(String indent) {
661     return "agpsSETassistedType = " + getValue() + ";\n";
662   }
663 }
664 
665 
666 /*
667  */
668 
669 
670 //
671 
672 /**
673  */
674 public static class agpsSETBasedType extends Asn1Boolean {
675   //
676 
677   private static final Asn1Tag TAG_agpsSETBasedType
678       = Asn1Tag.fromClassAndNumber(-1, -1);
679 
agpsSETBasedType()680   public agpsSETBasedType() {
681     super();
682   }
683 
684   @Override
685   @Nullable
getTag()686   protected Asn1Tag getTag() {
687     return TAG_agpsSETBasedType;
688   }
689 
690   @Override
isTagImplicit()691   protected boolean isTagImplicit() {
692     return true;
693   }
694 
getPossibleFirstTags()695   public static Collection<Asn1Tag> getPossibleFirstTags() {
696     if (TAG_agpsSETBasedType != null) {
697       return ImmutableList.of(TAG_agpsSETBasedType);
698     } else {
699       return Asn1Boolean.getPossibleFirstTags();
700     }
701   }
702 
703   /**
704    * Creates a new agpsSETBasedType from encoded stream.
705    */
fromPerUnaligned(byte[] encodedBytes)706   public static agpsSETBasedType fromPerUnaligned(byte[] encodedBytes) {
707     agpsSETBasedType result = new agpsSETBasedType();
708     result.decodePerUnaligned(new BitStreamReader(encodedBytes));
709     return result;
710   }
711 
712   /**
713    * Creates a new agpsSETBasedType from encoded stream.
714    */
fromPerAligned(byte[] encodedBytes)715   public static agpsSETBasedType fromPerAligned(byte[] encodedBytes) {
716     agpsSETBasedType result = new agpsSETBasedType();
717     result.decodePerAligned(new BitStreamReader(encodedBytes));
718     return result;
719   }
720 
encodePerUnaligned()721   @Override public Iterable<BitStream> encodePerUnaligned() {
722     return super.encodePerUnaligned();
723   }
724 
encodePerAligned()725   @Override public Iterable<BitStream> encodePerAligned() {
726     return super.encodePerAligned();
727   }
728 
decodePerUnaligned(BitStreamReader reader)729   @Override public void decodePerUnaligned(BitStreamReader reader) {
730     super.decodePerUnaligned(reader);
731   }
732 
decodePerAligned(BitStreamReader reader)733   @Override public void decodePerAligned(BitStreamReader reader) {
734     super.decodePerAligned(reader);
735   }
736 
toString()737   @Override public String toString() {
738     return toIndentedString("");
739   }
740 
toIndentedString(String indent)741   public String toIndentedString(String indent) {
742     return "agpsSETBasedType = " + getValue() + ";\n";
743   }
744 }
745 
746 
747 /*
748  */
749 
750 
751 //
752 
753 /**
754  */
755 public static class autonomousGPSType extends Asn1Boolean {
756   //
757 
758   private static final Asn1Tag TAG_autonomousGPSType
759       = Asn1Tag.fromClassAndNumber(-1, -1);
760 
autonomousGPSType()761   public autonomousGPSType() {
762     super();
763   }
764 
765   @Override
766   @Nullable
getTag()767   protected Asn1Tag getTag() {
768     return TAG_autonomousGPSType;
769   }
770 
771   @Override
isTagImplicit()772   protected boolean isTagImplicit() {
773     return true;
774   }
775 
getPossibleFirstTags()776   public static Collection<Asn1Tag> getPossibleFirstTags() {
777     if (TAG_autonomousGPSType != null) {
778       return ImmutableList.of(TAG_autonomousGPSType);
779     } else {
780       return Asn1Boolean.getPossibleFirstTags();
781     }
782   }
783 
784   /**
785    * Creates a new autonomousGPSType from encoded stream.
786    */
fromPerUnaligned(byte[] encodedBytes)787   public static autonomousGPSType fromPerUnaligned(byte[] encodedBytes) {
788     autonomousGPSType result = new autonomousGPSType();
789     result.decodePerUnaligned(new BitStreamReader(encodedBytes));
790     return result;
791   }
792 
793   /**
794    * Creates a new autonomousGPSType from encoded stream.
795    */
fromPerAligned(byte[] encodedBytes)796   public static autonomousGPSType fromPerAligned(byte[] encodedBytes) {
797     autonomousGPSType result = new autonomousGPSType();
798     result.decodePerAligned(new BitStreamReader(encodedBytes));
799     return result;
800   }
801 
encodePerUnaligned()802   @Override public Iterable<BitStream> encodePerUnaligned() {
803     return super.encodePerUnaligned();
804   }
805 
encodePerAligned()806   @Override public Iterable<BitStream> encodePerAligned() {
807     return super.encodePerAligned();
808   }
809 
decodePerUnaligned(BitStreamReader reader)810   @Override public void decodePerUnaligned(BitStreamReader reader) {
811     super.decodePerUnaligned(reader);
812   }
813 
decodePerAligned(BitStreamReader reader)814   @Override public void decodePerAligned(BitStreamReader reader) {
815     super.decodePerAligned(reader);
816   }
817 
toString()818   @Override public String toString() {
819     return toIndentedString("");
820   }
821 
toIndentedString(String indent)822   public String toIndentedString(String indent) {
823     return "autonomousGPSType = " + getValue() + ";\n";
824   }
825 }
826 
827 
828 /*
829  */
830 
831 
832 //
833 
834 /**
835  */
836 public static class aFLTType extends Asn1Boolean {
837   //
838 
839   private static final Asn1Tag TAG_aFLTType
840       = Asn1Tag.fromClassAndNumber(-1, -1);
841 
aFLTType()842   public aFLTType() {
843     super();
844   }
845 
846   @Override
847   @Nullable
getTag()848   protected Asn1Tag getTag() {
849     return TAG_aFLTType;
850   }
851 
852   @Override
isTagImplicit()853   protected boolean isTagImplicit() {
854     return true;
855   }
856 
getPossibleFirstTags()857   public static Collection<Asn1Tag> getPossibleFirstTags() {
858     if (TAG_aFLTType != null) {
859       return ImmutableList.of(TAG_aFLTType);
860     } else {
861       return Asn1Boolean.getPossibleFirstTags();
862     }
863   }
864 
865   /**
866    * Creates a new aFLTType from encoded stream.
867    */
fromPerUnaligned(byte[] encodedBytes)868   public static aFLTType fromPerUnaligned(byte[] encodedBytes) {
869     aFLTType result = new aFLTType();
870     result.decodePerUnaligned(new BitStreamReader(encodedBytes));
871     return result;
872   }
873 
874   /**
875    * Creates a new aFLTType from encoded stream.
876    */
fromPerAligned(byte[] encodedBytes)877   public static aFLTType fromPerAligned(byte[] encodedBytes) {
878     aFLTType result = new aFLTType();
879     result.decodePerAligned(new BitStreamReader(encodedBytes));
880     return result;
881   }
882 
encodePerUnaligned()883   @Override public Iterable<BitStream> encodePerUnaligned() {
884     return super.encodePerUnaligned();
885   }
886 
encodePerAligned()887   @Override public Iterable<BitStream> encodePerAligned() {
888     return super.encodePerAligned();
889   }
890 
decodePerUnaligned(BitStreamReader reader)891   @Override public void decodePerUnaligned(BitStreamReader reader) {
892     super.decodePerUnaligned(reader);
893   }
894 
decodePerAligned(BitStreamReader reader)895   @Override public void decodePerAligned(BitStreamReader reader) {
896     super.decodePerAligned(reader);
897   }
898 
toString()899   @Override public String toString() {
900     return toIndentedString("");
901   }
902 
toIndentedString(String indent)903   public String toIndentedString(String indent) {
904     return "aFLTType = " + getValue() + ";\n";
905   }
906 }
907 
908 
909 /*
910  */
911 
912 
913 //
914 
915 /**
916  */
917 public static class eCIDType extends Asn1Boolean {
918   //
919 
920   private static final Asn1Tag TAG_eCIDType
921       = Asn1Tag.fromClassAndNumber(-1, -1);
922 
eCIDType()923   public eCIDType() {
924     super();
925   }
926 
927   @Override
928   @Nullable
getTag()929   protected Asn1Tag getTag() {
930     return TAG_eCIDType;
931   }
932 
933   @Override
isTagImplicit()934   protected boolean isTagImplicit() {
935     return true;
936   }
937 
getPossibleFirstTags()938   public static Collection<Asn1Tag> getPossibleFirstTags() {
939     if (TAG_eCIDType != null) {
940       return ImmutableList.of(TAG_eCIDType);
941     } else {
942       return Asn1Boolean.getPossibleFirstTags();
943     }
944   }
945 
946   /**
947    * Creates a new eCIDType from encoded stream.
948    */
fromPerUnaligned(byte[] encodedBytes)949   public static eCIDType fromPerUnaligned(byte[] encodedBytes) {
950     eCIDType result = new eCIDType();
951     result.decodePerUnaligned(new BitStreamReader(encodedBytes));
952     return result;
953   }
954 
955   /**
956    * Creates a new eCIDType from encoded stream.
957    */
fromPerAligned(byte[] encodedBytes)958   public static eCIDType fromPerAligned(byte[] encodedBytes) {
959     eCIDType result = new eCIDType();
960     result.decodePerAligned(new BitStreamReader(encodedBytes));
961     return result;
962   }
963 
encodePerUnaligned()964   @Override public Iterable<BitStream> encodePerUnaligned() {
965     return super.encodePerUnaligned();
966   }
967 
encodePerAligned()968   @Override public Iterable<BitStream> encodePerAligned() {
969     return super.encodePerAligned();
970   }
971 
decodePerUnaligned(BitStreamReader reader)972   @Override public void decodePerUnaligned(BitStreamReader reader) {
973     super.decodePerUnaligned(reader);
974   }
975 
decodePerAligned(BitStreamReader reader)976   @Override public void decodePerAligned(BitStreamReader reader) {
977     super.decodePerAligned(reader);
978   }
979 
toString()980   @Override public String toString() {
981     return toIndentedString("");
982   }
983 
toIndentedString(String indent)984   public String toIndentedString(String indent) {
985     return "eCIDType = " + getValue() + ";\n";
986   }
987 }
988 
989 
990 /*
991  */
992 
993 
994 //
995 
996 /**
997  */
998 public static class eOTDType extends Asn1Boolean {
999   //
1000 
1001   private static final Asn1Tag TAG_eOTDType
1002       = Asn1Tag.fromClassAndNumber(-1, -1);
1003 
eOTDType()1004   public eOTDType() {
1005     super();
1006   }
1007 
1008   @Override
1009   @Nullable
getTag()1010   protected Asn1Tag getTag() {
1011     return TAG_eOTDType;
1012   }
1013 
1014   @Override
isTagImplicit()1015   protected boolean isTagImplicit() {
1016     return true;
1017   }
1018 
getPossibleFirstTags()1019   public static Collection<Asn1Tag> getPossibleFirstTags() {
1020     if (TAG_eOTDType != null) {
1021       return ImmutableList.of(TAG_eOTDType);
1022     } else {
1023       return Asn1Boolean.getPossibleFirstTags();
1024     }
1025   }
1026 
1027   /**
1028    * Creates a new eOTDType from encoded stream.
1029    */
fromPerUnaligned(byte[] encodedBytes)1030   public static eOTDType fromPerUnaligned(byte[] encodedBytes) {
1031     eOTDType result = new eOTDType();
1032     result.decodePerUnaligned(new BitStreamReader(encodedBytes));
1033     return result;
1034   }
1035 
1036   /**
1037    * Creates a new eOTDType from encoded stream.
1038    */
fromPerAligned(byte[] encodedBytes)1039   public static eOTDType fromPerAligned(byte[] encodedBytes) {
1040     eOTDType result = new eOTDType();
1041     result.decodePerAligned(new BitStreamReader(encodedBytes));
1042     return result;
1043   }
1044 
encodePerUnaligned()1045   @Override public Iterable<BitStream> encodePerUnaligned() {
1046     return super.encodePerUnaligned();
1047   }
1048 
encodePerAligned()1049   @Override public Iterable<BitStream> encodePerAligned() {
1050     return super.encodePerAligned();
1051   }
1052 
decodePerUnaligned(BitStreamReader reader)1053   @Override public void decodePerUnaligned(BitStreamReader reader) {
1054     super.decodePerUnaligned(reader);
1055   }
1056 
decodePerAligned(BitStreamReader reader)1057   @Override public void decodePerAligned(BitStreamReader reader) {
1058     super.decodePerAligned(reader);
1059   }
1060 
toString()1061   @Override public String toString() {
1062     return toIndentedString("");
1063   }
1064 
toIndentedString(String indent)1065   public String toIndentedString(String indent) {
1066     return "eOTDType = " + getValue() + ";\n";
1067   }
1068 }
1069 
1070 
1071 /*
1072  */
1073 
1074 
1075 //
1076 
1077 /**
1078  */
1079 public static class oTDOAType extends Asn1Boolean {
1080   //
1081 
1082   private static final Asn1Tag TAG_oTDOAType
1083       = Asn1Tag.fromClassAndNumber(-1, -1);
1084 
oTDOAType()1085   public oTDOAType() {
1086     super();
1087   }
1088 
1089   @Override
1090   @Nullable
getTag()1091   protected Asn1Tag getTag() {
1092     return TAG_oTDOAType;
1093   }
1094 
1095   @Override
isTagImplicit()1096   protected boolean isTagImplicit() {
1097     return true;
1098   }
1099 
getPossibleFirstTags()1100   public static Collection<Asn1Tag> getPossibleFirstTags() {
1101     if (TAG_oTDOAType != null) {
1102       return ImmutableList.of(TAG_oTDOAType);
1103     } else {
1104       return Asn1Boolean.getPossibleFirstTags();
1105     }
1106   }
1107 
1108   /**
1109    * Creates a new oTDOAType from encoded stream.
1110    */
fromPerUnaligned(byte[] encodedBytes)1111   public static oTDOAType fromPerUnaligned(byte[] encodedBytes) {
1112     oTDOAType result = new oTDOAType();
1113     result.decodePerUnaligned(new BitStreamReader(encodedBytes));
1114     return result;
1115   }
1116 
1117   /**
1118    * Creates a new oTDOAType from encoded stream.
1119    */
fromPerAligned(byte[] encodedBytes)1120   public static oTDOAType fromPerAligned(byte[] encodedBytes) {
1121     oTDOAType result = new oTDOAType();
1122     result.decodePerAligned(new BitStreamReader(encodedBytes));
1123     return result;
1124   }
1125 
encodePerUnaligned()1126   @Override public Iterable<BitStream> encodePerUnaligned() {
1127     return super.encodePerUnaligned();
1128   }
1129 
encodePerAligned()1130   @Override public Iterable<BitStream> encodePerAligned() {
1131     return super.encodePerAligned();
1132   }
1133 
decodePerUnaligned(BitStreamReader reader)1134   @Override public void decodePerUnaligned(BitStreamReader reader) {
1135     super.decodePerUnaligned(reader);
1136   }
1137 
decodePerAligned(BitStreamReader reader)1138   @Override public void decodePerAligned(BitStreamReader reader) {
1139     super.decodePerAligned(reader);
1140   }
1141 
toString()1142   @Override public String toString() {
1143     return toIndentedString("");
1144   }
1145 
toIndentedString(String indent)1146   public String toIndentedString(String indent) {
1147     return "oTDOAType = " + getValue() + ";\n";
1148   }
1149 }
1150 
1151 
1152 
1153 
1154 
1155 
1156 
encodePerUnaligned()1157   @Override public Iterable<BitStream> encodePerUnaligned() {
1158     return super.encodePerUnaligned();
1159   }
1160 
encodePerAligned()1161   @Override public Iterable<BitStream> encodePerAligned() {
1162     return super.encodePerAligned();
1163   }
1164 
decodePerUnaligned(BitStreamReader reader)1165   @Override public void decodePerUnaligned(BitStreamReader reader) {
1166     super.decodePerUnaligned(reader);
1167   }
1168 
decodePerAligned(BitStreamReader reader)1169   @Override public void decodePerAligned(BitStreamReader reader) {
1170     super.decodePerAligned(reader);
1171   }
1172 
toString()1173   @Override public String toString() {
1174     return toIndentedString("");
1175   }
1176 
toIndentedString(String indent)1177   public String toIndentedString(String indent) {
1178     StringBuilder builder = new StringBuilder();
1179     builder.append("PosTechnology = {\n");
1180     final String internalIndent = indent + "  ";
1181     for (SequenceComponent component : getComponents()) {
1182       if (component.isExplicitlySet()) {
1183         builder.append(internalIndent)
1184             .append(component.toIndentedString(internalIndent));
1185       }
1186     }
1187     if (isExtensible()) {
1188       builder.append(internalIndent).append("...\n");
1189       for (SequenceComponent component : getExtensionComponents()) {
1190         if (component.isExplicitlySet()) {
1191           builder.append(internalIndent)
1192               .append(component.toIndentedString(internalIndent));
1193         }
1194       }
1195     }
1196     builder.append(indent).append("};\n");
1197     return builder.toString();
1198   }
1199 }
1200