Home | History | Annotate | Download | only in ulp_version_2_message_extensions
      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.ulp_version_2_message_extensions;
     18 
     19 /*
     20  */
     21 
     22 
     23 //
     24 //
     25 import android.location.cts.asn1.base.Asn1Null;
     26 import android.location.cts.asn1.base.Asn1Object;
     27 import android.location.cts.asn1.base.Asn1Sequence;
     28 import android.location.cts.asn1.base.Asn1Tag;
     29 import android.location.cts.asn1.base.BitStream;
     30 import android.location.cts.asn1.base.BitStreamReader;
     31 import android.location.cts.asn1.base.SequenceComponent;
     32 import android.location.cts.asn1.supl2.ver2_ulp_components.UTRAN_GANSSReferenceTimeAssistance;
     33 import android.location.cts.asn1.supl2.ver2_ulp_components.UTRAN_GANSSReferenceTimeResult;
     34 import android.location.cts.asn1.supl2.ver2_ulp_components.UTRAN_GPSReferenceTimeAssistance;
     35 import android.location.cts.asn1.supl2.ver2_ulp_components.UTRAN_GPSReferenceTimeResult;
     36 import com.google.common.collect.ImmutableList;
     37 import java.util.Collection;
     38 import javax.annotation.Nullable;
     39 
     40 
     41 /**
     42 */
     43 public  class Ver2_SUPL_POS_extension extends Asn1Sequence {
     44   //
     45 
     46   private static final Asn1Tag TAG_Ver2_SUPL_POS_extension
     47       = Asn1Tag.fromClassAndNumber(-1, -1);
     48 
     49   public Ver2_SUPL_POS_extension() {
     50     super();
     51   }
     52 
     53   @Override
     54   @Nullable
     55   protected Asn1Tag getTag() {
     56     return TAG_Ver2_SUPL_POS_extension;
     57   }
     58 
     59   @Override
     60   protected boolean isTagImplicit() {
     61     return true;
     62   }
     63 
     64   public static Collection<Asn1Tag> getPossibleFirstTags() {
     65     if (TAG_Ver2_SUPL_POS_extension != null) {
     66       return ImmutableList.of(TAG_Ver2_SUPL_POS_extension);
     67     } else {
     68       return Asn1Sequence.getPossibleFirstTags();
     69     }
     70   }
     71 
     72   /**
     73    * Creates a new Ver2_SUPL_POS_extension from encoded stream.
     74    */
     75   public static Ver2_SUPL_POS_extension fromPerUnaligned(byte[] encodedBytes) {
     76     Ver2_SUPL_POS_extension result = new Ver2_SUPL_POS_extension();
     77     result.decodePerUnaligned(new BitStreamReader(encodedBytes));
     78     return result;
     79   }
     80 
     81   /**
     82    * Creates a new Ver2_SUPL_POS_extension from encoded stream.
     83    */
     84   public static Ver2_SUPL_POS_extension fromPerAligned(byte[] encodedBytes) {
     85     Ver2_SUPL_POS_extension result = new Ver2_SUPL_POS_extension();
     86     result.decodePerAligned(new BitStreamReader(encodedBytes));
     87     return result;
     88   }
     89 
     90 
     91 
     92   @Override protected boolean isExtensible() {
     93     return true;
     94   }
     95 
     96   @Override public boolean containsExtensionValues() {
     97     for (SequenceComponent extensionComponent : getExtensionComponents()) {
     98       if (extensionComponent.isExplicitlySet()) return true;
     99     }
    100     return false;
    101   }
    102 
    103 
    104   private UTRAN_GPSReferenceTimeAssistance utran_GPSReferenceTimeAssistance_;
    105   public UTRAN_GPSReferenceTimeAssistance getUtran_GPSReferenceTimeAssistance() {
    106     return utran_GPSReferenceTimeAssistance_;
    107   }
    108   /**
    109    * @throws ClassCastException if value is not a UTRAN_GPSReferenceTimeAssistance
    110    */
    111   public void setUtran_GPSReferenceTimeAssistance(Asn1Object value) {
    112     this.utran_GPSReferenceTimeAssistance_ = (UTRAN_GPSReferenceTimeAssistance) value;
    113   }
    114   public UTRAN_GPSReferenceTimeAssistance setUtran_GPSReferenceTimeAssistanceToNewInstance() {
    115     utran_GPSReferenceTimeAssistance_ = new UTRAN_GPSReferenceTimeAssistance();
    116     return utran_GPSReferenceTimeAssistance_;
    117   }
    118 
    119   private UTRAN_GPSReferenceTimeResult utran_GPSReferenceTimeResult_;
    120   public UTRAN_GPSReferenceTimeResult getUtran_GPSReferenceTimeResult() {
    121     return utran_GPSReferenceTimeResult_;
    122   }
    123   /**
    124    * @throws ClassCastException if value is not a UTRAN_GPSReferenceTimeResult
    125    */
    126   public void setUtran_GPSReferenceTimeResult(Asn1Object value) {
    127     this.utran_GPSReferenceTimeResult_ = (UTRAN_GPSReferenceTimeResult) value;
    128   }
    129   public UTRAN_GPSReferenceTimeResult setUtran_GPSReferenceTimeResultToNewInstance() {
    130     utran_GPSReferenceTimeResult_ = new UTRAN_GPSReferenceTimeResult();
    131     return utran_GPSReferenceTimeResult_;
    132   }
    133 
    134   private UTRAN_GANSSReferenceTimeAssistance utran_GANSSReferenceTimeAssistance_;
    135   public UTRAN_GANSSReferenceTimeAssistance getUtran_GANSSReferenceTimeAssistance() {
    136     return utran_GANSSReferenceTimeAssistance_;
    137   }
    138   /**
    139    * @throws ClassCastException if value is not a UTRAN_GANSSReferenceTimeAssistance
    140    */
    141   public void setUtran_GANSSReferenceTimeAssistance(Asn1Object value) {
    142     this.utran_GANSSReferenceTimeAssistance_ = (UTRAN_GANSSReferenceTimeAssistance) value;
    143   }
    144   public UTRAN_GANSSReferenceTimeAssistance setUtran_GANSSReferenceTimeAssistanceToNewInstance() {
    145     utran_GANSSReferenceTimeAssistance_ = new UTRAN_GANSSReferenceTimeAssistance();
    146     return utran_GANSSReferenceTimeAssistance_;
    147   }
    148 
    149   private UTRAN_GANSSReferenceTimeResult utran_GANSSReferenceTimeResult_;
    150   public UTRAN_GANSSReferenceTimeResult getUtran_GANSSReferenceTimeResult() {
    151     return utran_GANSSReferenceTimeResult_;
    152   }
    153   /**
    154    * @throws ClassCastException if value is not a UTRAN_GANSSReferenceTimeResult
    155    */
    156   public void setUtran_GANSSReferenceTimeResult(Asn1Object value) {
    157     this.utran_GANSSReferenceTimeResult_ = (UTRAN_GANSSReferenceTimeResult) value;
    158   }
    159   public UTRAN_GANSSReferenceTimeResult setUtran_GANSSReferenceTimeResultToNewInstance() {
    160     utran_GANSSReferenceTimeResult_ = new UTRAN_GANSSReferenceTimeResult();
    161     return utran_GANSSReferenceTimeResult_;
    162   }
    163 
    164 
    165 
    166 
    167 
    168 
    169   @Override public Iterable<? extends SequenceComponent> getComponents() {
    170     ImmutableList.Builder<SequenceComponent> builder = ImmutableList.builder();
    171 
    172     builder.add(new SequenceComponent() {
    173           Asn1Tag tag = Asn1Tag.fromClassAndNumber(2, 0);
    174 
    175           @Override public boolean isExplicitlySet() {
    176             return getUtran_GPSReferenceTimeAssistance() != null;
    177           }
    178 
    179           @Override public boolean hasDefaultValue() {
    180             return false;
    181           }
    182 
    183           @Override public boolean isOptional() {
    184             return true;
    185           }
    186 
    187           @Override public Asn1Object getComponentValue() {
    188             return getUtran_GPSReferenceTimeAssistance();
    189           }
    190 
    191           @Override public void setToNewInstance() {
    192             setUtran_GPSReferenceTimeAssistanceToNewInstance();
    193           }
    194 
    195           @Override public Collection<Asn1Tag> getPossibleFirstTags() {
    196             return tag == null ? UTRAN_GPSReferenceTimeAssistance.getPossibleFirstTags() : ImmutableList.of(tag);
    197           }
    198 
    199           @Override
    200           public Asn1Tag getTag() {
    201             return tag;
    202           }
    203 
    204           @Override
    205           public boolean isImplicitTagging() {
    206             return true;
    207           }
    208 
    209           @Override public String toIndentedString(String indent) {
    210                 return "utran_GPSReferenceTimeAssistance : "
    211                     + getUtran_GPSReferenceTimeAssistance().toIndentedString(indent);
    212               }
    213         });
    214 
    215     builder.add(new SequenceComponent() {
    216           Asn1Tag tag = Asn1Tag.fromClassAndNumber(2, 1);
    217 
    218           @Override public boolean isExplicitlySet() {
    219             return getUtran_GPSReferenceTimeResult() != null;
    220           }
    221 
    222           @Override public boolean hasDefaultValue() {
    223             return false;
    224           }
    225 
    226           @Override public boolean isOptional() {
    227             return true;
    228           }
    229 
    230           @Override public Asn1Object getComponentValue() {
    231             return getUtran_GPSReferenceTimeResult();
    232           }
    233 
    234           @Override public void setToNewInstance() {
    235             setUtran_GPSReferenceTimeResultToNewInstance();
    236           }
    237 
    238           @Override public Collection<Asn1Tag> getPossibleFirstTags() {
    239             return tag == null ? UTRAN_GPSReferenceTimeResult.getPossibleFirstTags() : ImmutableList.of(tag);
    240           }
    241 
    242           @Override
    243           public Asn1Tag getTag() {
    244             return tag;
    245           }
    246 
    247           @Override
    248           public boolean isImplicitTagging() {
    249             return true;
    250           }
    251 
    252           @Override public String toIndentedString(String indent) {
    253                 return "utran_GPSReferenceTimeResult : "
    254                     + getUtran_GPSReferenceTimeResult().toIndentedString(indent);
    255               }
    256         });
    257 
    258     builder.add(new SequenceComponent() {
    259           Asn1Tag tag = Asn1Tag.fromClassAndNumber(2, 2);
    260 
    261           @Override public boolean isExplicitlySet() {
    262             return getUtran_GANSSReferenceTimeAssistance() != null;
    263           }
    264 
    265           @Override public boolean hasDefaultValue() {
    266             return false;
    267           }
    268 
    269           @Override public boolean isOptional() {
    270             return true;
    271           }
    272 
    273           @Override public Asn1Object getComponentValue() {
    274             return getUtran_GANSSReferenceTimeAssistance();
    275           }
    276 
    277           @Override public void setToNewInstance() {
    278             setUtran_GANSSReferenceTimeAssistanceToNewInstance();
    279           }
    280 
    281           @Override public Collection<Asn1Tag> getPossibleFirstTags() {
    282             return tag == null ? UTRAN_GANSSReferenceTimeAssistance.getPossibleFirstTags() : ImmutableList.of(tag);
    283           }
    284 
    285           @Override
    286           public Asn1Tag getTag() {
    287             return tag;
    288           }
    289 
    290           @Override
    291           public boolean isImplicitTagging() {
    292             return true;
    293           }
    294 
    295           @Override public String toIndentedString(String indent) {
    296                 return "utran_GANSSReferenceTimeAssistance : "
    297                     + getUtran_GANSSReferenceTimeAssistance().toIndentedString(indent);
    298               }
    299         });
    300 
    301     builder.add(new SequenceComponent() {
    302           Asn1Tag tag = Asn1Tag.fromClassAndNumber(2, 3);
    303 
    304           @Override public boolean isExplicitlySet() {
    305             return getUtran_GANSSReferenceTimeResult() != null;
    306           }
    307 
    308           @Override public boolean hasDefaultValue() {
    309             return false;
    310           }
    311 
    312           @Override public boolean isOptional() {
    313             return true;
    314           }
    315 
    316           @Override public Asn1Object getComponentValue() {
    317             return getUtran_GANSSReferenceTimeResult();
    318           }
    319 
    320           @Override public void setToNewInstance() {
    321             setUtran_GANSSReferenceTimeResultToNewInstance();
    322           }
    323 
    324           @Override public Collection<Asn1Tag> getPossibleFirstTags() {
    325             return tag == null ? UTRAN_GANSSReferenceTimeResult.getPossibleFirstTags() : ImmutableList.of(tag);
    326           }
    327 
    328           @Override
    329           public Asn1Tag getTag() {
    330             return tag;
    331           }
    332 
    333           @Override
    334           public boolean isImplicitTagging() {
    335             return true;
    336           }
    337 
    338           @Override public String toIndentedString(String indent) {
    339                 return "utran_GANSSReferenceTimeResult : "
    340                     + getUtran_GANSSReferenceTimeResult().toIndentedString(indent);
    341               }
    342         });
    343 
    344     return builder.build();
    345   }
    346 
    347   @Override public Iterable<? extends SequenceComponent>
    348                                                     getExtensionComponents() {
    349     ImmutableList.Builder<SequenceComponent> builder = ImmutableList.builder();
    350 
    351       return builder.build();
    352     }
    353 
    354 
    355 
    356 
    357 
    358 
    359 
    360 
    361 
    362 
    363 
    364 
    365 
    366   @Override public Iterable<BitStream> encodePerUnaligned() {
    367     return super.encodePerUnaligned();
    368   }
    369 
    370   @Override public Iterable<BitStream> encodePerAligned() {
    371     return super.encodePerAligned();
    372   }
    373 
    374   @Override public void decodePerUnaligned(BitStreamReader reader) {
    375     super.decodePerUnaligned(reader);
    376   }
    377 
    378   @Override public void decodePerAligned(BitStreamReader reader) {
    379     super.decodePerAligned(reader);
    380   }
    381 
    382   @Override public String toString() {
    383     return toIndentedString("");
    384   }
    385 
    386   public String toIndentedString(String indent) {
    387     StringBuilder builder = new StringBuilder();
    388     builder.append("Ver2_SUPL_POS_extension = {\n");
    389     final String internalIndent = indent + "  ";
    390     for (SequenceComponent component : getComponents()) {
    391       if (component.isExplicitlySet()) {
    392         builder.append(internalIndent)
    393             .append(component.toIndentedString(internalIndent));
    394       }
    395     }
    396     if (isExtensible()) {
    397       builder.append(internalIndent).append("...\n");
    398       for (SequenceComponent component : getExtensionComponents()) {
    399         if (component.isExplicitlySet()) {
    400           builder.append(internalIndent)
    401               .append(component.toIndentedString(internalIndent));
    402         }
    403       }
    404     }
    405     builder.append(indent).append("};\n");
    406     return builder.toString();
    407   }
    408 }
    409