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