blob: d5f471f29d9c9650d4e58dc03b2d9f848c2a863c [file] [log] [blame]
/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.location.cts.asn1.supl2.rrlp_components;
/*
*/
//
//
import android.location.cts.asn1.base.Asn1BitString;
import android.location.cts.asn1.base.Asn1Integer;
import android.location.cts.asn1.base.Asn1Null;
import android.location.cts.asn1.base.Asn1Object;
import android.location.cts.asn1.base.Asn1Sequence;
import android.location.cts.asn1.base.Asn1Tag;
import android.location.cts.asn1.base.BitStream;
import android.location.cts.asn1.base.BitStreamReader;
import android.location.cts.asn1.base.SequenceComponent;
import com.google.common.collect.ImmutableList;
import java.util.Collection;
import javax.annotation.Nullable;
/**
*/
public class UTCmodelSet3 extends Asn1Sequence {
//
private static final Asn1Tag TAG_UTCmodelSet3
= Asn1Tag.fromClassAndNumber(-1, -1);
public UTCmodelSet3() {
super();
}
@Override
@Nullable
protected Asn1Tag getTag() {
return TAG_UTCmodelSet3;
}
@Override
protected boolean isTagImplicit() {
return true;
}
public static Collection<Asn1Tag> getPossibleFirstTags() {
if (TAG_UTCmodelSet3 != null) {
return ImmutableList.of(TAG_UTCmodelSet3);
} else {
return Asn1Sequence.getPossibleFirstTags();
}
}
/**
* Creates a new UTCmodelSet3 from encoded stream.
*/
public static UTCmodelSet3 fromPerUnaligned(byte[] encodedBytes) {
UTCmodelSet3 result = new UTCmodelSet3();
result.decodePerUnaligned(new BitStreamReader(encodedBytes));
return result;
}
/**
* Creates a new UTCmodelSet3 from encoded stream.
*/
public static UTCmodelSet3 fromPerAligned(byte[] encodedBytes) {
UTCmodelSet3 result = new UTCmodelSet3();
result.decodePerAligned(new BitStreamReader(encodedBytes));
return result;
}
@Override protected boolean isExtensible() {
return false;
}
@Override public boolean containsExtensionValues() {
for (SequenceComponent extensionComponent : getExtensionComponents()) {
if (extensionComponent.isExplicitlySet()) return true;
}
return false;
}
private UTCmodelSet3.nAType nA_;
public UTCmodelSet3.nAType getNA() {
return nA_;
}
/**
* @throws ClassCastException if value is not a UTCmodelSet3.nAType
*/
public void setNA(Asn1Object value) {
this.nA_ = (UTCmodelSet3.nAType) value;
}
public UTCmodelSet3.nAType setNAToNewInstance() {
nA_ = new UTCmodelSet3.nAType();
return nA_;
}
private UTCmodelSet3.tauCType tauC_;
public UTCmodelSet3.tauCType getTauC() {
return tauC_;
}
/**
* @throws ClassCastException if value is not a UTCmodelSet3.tauCType
*/
public void setTauC(Asn1Object value) {
this.tauC_ = (UTCmodelSet3.tauCType) value;
}
public UTCmodelSet3.tauCType setTauCToNewInstance() {
tauC_ = new UTCmodelSet3.tauCType();
return tauC_;
}
private UTCmodelSet3.b1Type b1_;
public UTCmodelSet3.b1Type getB1() {
return b1_;
}
/**
* @throws ClassCastException if value is not a UTCmodelSet3.b1Type
*/
public void setB1(Asn1Object value) {
this.b1_ = (UTCmodelSet3.b1Type) value;
}
public UTCmodelSet3.b1Type setB1ToNewInstance() {
b1_ = new UTCmodelSet3.b1Type();
return b1_;
}
private UTCmodelSet3.b2Type b2_;
public UTCmodelSet3.b2Type getB2() {
return b2_;
}
/**
* @throws ClassCastException if value is not a UTCmodelSet3.b2Type
*/
public void setB2(Asn1Object value) {
this.b2_ = (UTCmodelSet3.b2Type) value;
}
public UTCmodelSet3.b2Type setB2ToNewInstance() {
b2_ = new UTCmodelSet3.b2Type();
return b2_;
}
private UTCmodelSet3.kpType kp_;
public UTCmodelSet3.kpType getKp() {
return kp_;
}
/**
* @throws ClassCastException if value is not a UTCmodelSet3.kpType
*/
public void setKp(Asn1Object value) {
this.kp_ = (UTCmodelSet3.kpType) value;
}
public UTCmodelSet3.kpType setKpToNewInstance() {
kp_ = new UTCmodelSet3.kpType();
return kp_;
}
@Override public Iterable<? extends SequenceComponent> getComponents() {
ImmutableList.Builder<SequenceComponent> builder = ImmutableList.builder();
builder.add(new SequenceComponent() {
Asn1Tag tag = Asn1Tag.fromClassAndNumber(2, 0);
@Override public boolean isExplicitlySet() {
return getNA() != null;
}
@Override public boolean hasDefaultValue() {
return false;
}
@Override public boolean isOptional() {
return false;
}
@Override public Asn1Object getComponentValue() {
return getNA();
}
@Override public void setToNewInstance() {
setNAToNewInstance();
}
@Override public Collection<Asn1Tag> getPossibleFirstTags() {
return tag == null ? UTCmodelSet3.nAType.getPossibleFirstTags() : ImmutableList.of(tag);
}
@Override
public Asn1Tag getTag() {
return tag;
}
@Override
public boolean isImplicitTagging() {
return true;
}
@Override public String toIndentedString(String indent) {
return "nA : "
+ getNA().toIndentedString(indent);
}
});
builder.add(new SequenceComponent() {
Asn1Tag tag = Asn1Tag.fromClassAndNumber(2, 1);
@Override public boolean isExplicitlySet() {
return getTauC() != null;
}
@Override public boolean hasDefaultValue() {
return false;
}
@Override public boolean isOptional() {
return false;
}
@Override public Asn1Object getComponentValue() {
return getTauC();
}
@Override public void setToNewInstance() {
setTauCToNewInstance();
}
@Override public Collection<Asn1Tag> getPossibleFirstTags() {
return tag == null ? UTCmodelSet3.tauCType.getPossibleFirstTags() : ImmutableList.of(tag);
}
@Override
public Asn1Tag getTag() {
return tag;
}
@Override
public boolean isImplicitTagging() {
return true;
}
@Override public String toIndentedString(String indent) {
return "tauC : "
+ getTauC().toIndentedString(indent);
}
});
builder.add(new SequenceComponent() {
Asn1Tag tag = Asn1Tag.fromClassAndNumber(2, 2);
@Override public boolean isExplicitlySet() {
return getB1() != null;
}
@Override public boolean hasDefaultValue() {
return false;
}
@Override public boolean isOptional() {
return true;
}
@Override public Asn1Object getComponentValue() {
return getB1();
}
@Override public void setToNewInstance() {
setB1ToNewInstance();
}
@Override public Collection<Asn1Tag> getPossibleFirstTags() {
return tag == null ? UTCmodelSet3.b1Type.getPossibleFirstTags() : ImmutableList.of(tag);
}
@Override
public Asn1Tag getTag() {
return tag;
}
@Override
public boolean isImplicitTagging() {
return true;
}
@Override public String toIndentedString(String indent) {
return "b1 : "
+ getB1().toIndentedString(indent);
}
});
builder.add(new SequenceComponent() {
Asn1Tag tag = Asn1Tag.fromClassAndNumber(2, 3);
@Override public boolean isExplicitlySet() {
return getB2() != null;
}
@Override public boolean hasDefaultValue() {
return false;
}
@Override public boolean isOptional() {
return true;
}
@Override public Asn1Object getComponentValue() {
return getB2();
}
@Override public void setToNewInstance() {
setB2ToNewInstance();
}
@Override public Collection<Asn1Tag> getPossibleFirstTags() {
return tag == null ? UTCmodelSet3.b2Type.getPossibleFirstTags() : ImmutableList.of(tag);
}
@Override
public Asn1Tag getTag() {
return tag;
}
@Override
public boolean isImplicitTagging() {
return true;
}
@Override public String toIndentedString(String indent) {
return "b2 : "
+ getB2().toIndentedString(indent);
}
});
builder.add(new SequenceComponent() {
Asn1Tag tag = Asn1Tag.fromClassAndNumber(2, 4);
@Override public boolean isExplicitlySet() {
return getKp() != null;
}
@Override public boolean hasDefaultValue() {
return false;
}
@Override public boolean isOptional() {
return true;
}
@Override public Asn1Object getComponentValue() {
return getKp();
}
@Override public void setToNewInstance() {
setKpToNewInstance();
}
@Override public Collection<Asn1Tag> getPossibleFirstTags() {
return tag == null ? UTCmodelSet3.kpType.getPossibleFirstTags() : ImmutableList.of(tag);
}
@Override
public Asn1Tag getTag() {
return tag;
}
@Override
public boolean isImplicitTagging() {
return true;
}
@Override public String toIndentedString(String indent) {
return "kp : "
+ getKp().toIndentedString(indent);
}
});
return builder.build();
}
@Override public Iterable<? extends SequenceComponent>
getExtensionComponents() {
ImmutableList.Builder<SequenceComponent> builder = ImmutableList.builder();
return builder.build();
}
/*
*/
//
/**
*/
public static class nAType extends Asn1Integer {
//
private static final Asn1Tag TAG_nAType
= Asn1Tag.fromClassAndNumber(-1, -1);
public nAType() {
super();
setValueRange("1", "1461");
}
@Override
@Nullable
protected Asn1Tag getTag() {
return TAG_nAType;
}
@Override
protected boolean isTagImplicit() {
return true;
}
public static Collection<Asn1Tag> getPossibleFirstTags() {
if (TAG_nAType != null) {
return ImmutableList.of(TAG_nAType);
} else {
return Asn1Integer.getPossibleFirstTags();
}
}
/**
* Creates a new nAType from encoded stream.
*/
public static nAType fromPerUnaligned(byte[] encodedBytes) {
nAType result = new nAType();
result.decodePerUnaligned(new BitStreamReader(encodedBytes));
return result;
}
/**
* Creates a new nAType from encoded stream.
*/
public static nAType fromPerAligned(byte[] encodedBytes) {
nAType result = new nAType();
result.decodePerAligned(new BitStreamReader(encodedBytes));
return result;
}
@Override public Iterable<BitStream> encodePerUnaligned() {
return super.encodePerUnaligned();
}
@Override public Iterable<BitStream> encodePerAligned() {
return super.encodePerAligned();
}
@Override public void decodePerUnaligned(BitStreamReader reader) {
super.decodePerUnaligned(reader);
}
@Override public void decodePerAligned(BitStreamReader reader) {
super.decodePerAligned(reader);
}
@Override public String toString() {
return toIndentedString("");
}
public String toIndentedString(String indent) {
return "nAType = " + getInteger() + ";\n";
}
}
/*
*/
//
/**
*/
public static class tauCType extends Asn1Integer {
//
private static final Asn1Tag TAG_tauCType
= Asn1Tag.fromClassAndNumber(-1, -1);
public tauCType() {
super();
setValueRange("-2147483648", "2147483647");
}
@Override
@Nullable
protected Asn1Tag getTag() {
return TAG_tauCType;
}
@Override
protected boolean isTagImplicit() {
return true;
}
public static Collection<Asn1Tag> getPossibleFirstTags() {
if (TAG_tauCType != null) {
return ImmutableList.of(TAG_tauCType);
} else {
return Asn1Integer.getPossibleFirstTags();
}
}
/**
* Creates a new tauCType from encoded stream.
*/
public static tauCType fromPerUnaligned(byte[] encodedBytes) {
tauCType result = new tauCType();
result.decodePerUnaligned(new BitStreamReader(encodedBytes));
return result;
}
/**
* Creates a new tauCType from encoded stream.
*/
public static tauCType fromPerAligned(byte[] encodedBytes) {
tauCType result = new tauCType();
result.decodePerAligned(new BitStreamReader(encodedBytes));
return result;
}
@Override public Iterable<BitStream> encodePerUnaligned() {
return super.encodePerUnaligned();
}
@Override public Iterable<BitStream> encodePerAligned() {
return super.encodePerAligned();
}
@Override public void decodePerUnaligned(BitStreamReader reader) {
super.decodePerUnaligned(reader);
}
@Override public void decodePerAligned(BitStreamReader reader) {
super.decodePerAligned(reader);
}
@Override public String toString() {
return toIndentedString("");
}
public String toIndentedString(String indent) {
return "tauCType = " + getInteger() + ";\n";
}
}
/*
*/
//
/**
*/
public static class b1Type extends Asn1Integer {
//
private static final Asn1Tag TAG_b1Type
= Asn1Tag.fromClassAndNumber(-1, -1);
public b1Type() {
super();
setValueRange("-1024", "1023");
}
@Override
@Nullable
protected Asn1Tag getTag() {
return TAG_b1Type;
}
@Override
protected boolean isTagImplicit() {
return true;
}
public static Collection<Asn1Tag> getPossibleFirstTags() {
if (TAG_b1Type != null) {
return ImmutableList.of(TAG_b1Type);
} else {
return Asn1Integer.getPossibleFirstTags();
}
}
/**
* Creates a new b1Type from encoded stream.
*/
public static b1Type fromPerUnaligned(byte[] encodedBytes) {
b1Type result = new b1Type();
result.decodePerUnaligned(new BitStreamReader(encodedBytes));
return result;
}
/**
* Creates a new b1Type from encoded stream.
*/
public static b1Type fromPerAligned(byte[] encodedBytes) {
b1Type result = new b1Type();
result.decodePerAligned(new BitStreamReader(encodedBytes));
return result;
}
@Override public Iterable<BitStream> encodePerUnaligned() {
return super.encodePerUnaligned();
}
@Override public Iterable<BitStream> encodePerAligned() {
return super.encodePerAligned();
}
@Override public void decodePerUnaligned(BitStreamReader reader) {
super.decodePerUnaligned(reader);
}
@Override public void decodePerAligned(BitStreamReader reader) {
super.decodePerAligned(reader);
}
@Override public String toString() {
return toIndentedString("");
}
public String toIndentedString(String indent) {
return "b1Type = " + getInteger() + ";\n";
}
}
/*
*/
//
/**
*/
public static class b2Type extends Asn1Integer {
//
private static final Asn1Tag TAG_b2Type
= Asn1Tag.fromClassAndNumber(-1, -1);
public b2Type() {
super();
setValueRange("-512", "511");
}
@Override
@Nullable
protected Asn1Tag getTag() {
return TAG_b2Type;
}
@Override
protected boolean isTagImplicit() {
return true;
}
public static Collection<Asn1Tag> getPossibleFirstTags() {
if (TAG_b2Type != null) {
return ImmutableList.of(TAG_b2Type);
} else {
return Asn1Integer.getPossibleFirstTags();
}
}
/**
* Creates a new b2Type from encoded stream.
*/
public static b2Type fromPerUnaligned(byte[] encodedBytes) {
b2Type result = new b2Type();
result.decodePerUnaligned(new BitStreamReader(encodedBytes));
return result;
}
/**
* Creates a new b2Type from encoded stream.
*/
public static b2Type fromPerAligned(byte[] encodedBytes) {
b2Type result = new b2Type();
result.decodePerAligned(new BitStreamReader(encodedBytes));
return result;
}
@Override public Iterable<BitStream> encodePerUnaligned() {
return super.encodePerUnaligned();
}
@Override public Iterable<BitStream> encodePerAligned() {
return super.encodePerAligned();
}
@Override public void decodePerUnaligned(BitStreamReader reader) {
super.decodePerUnaligned(reader);
}
@Override public void decodePerAligned(BitStreamReader reader) {
super.decodePerAligned(reader);
}
@Override public String toString() {
return toIndentedString("");
}
public String toIndentedString(String indent) {
return "b2Type = " + getInteger() + ";\n";
}
}
/*
*/
//
/**
*/
public static class kpType extends Asn1BitString {
//
private static final Asn1Tag TAG_kpType
= Asn1Tag.fromClassAndNumber(-1, -1);
public kpType() {
super();
setMinSize(2);
setMaxSize(2);
}
@Override
@Nullable
protected Asn1Tag getTag() {
return TAG_kpType;
}
@Override
protected boolean isTagImplicit() {
return true;
}
public static Collection<Asn1Tag> getPossibleFirstTags() {
if (TAG_kpType != null) {
return ImmutableList.of(TAG_kpType);
} else {
return Asn1BitString.getPossibleFirstTags();
}
}
/**
* Creates a new kpType from encoded stream.
*/
public static kpType fromPerUnaligned(byte[] encodedBytes) {
kpType result = new kpType();
result.decodePerUnaligned(new BitStreamReader(encodedBytes));
return result;
}
/**
* Creates a new kpType from encoded stream.
*/
public static kpType fromPerAligned(byte[] encodedBytes) {
kpType result = new kpType();
result.decodePerAligned(new BitStreamReader(encodedBytes));
return result;
}
@Override public Iterable<BitStream> encodePerUnaligned() {
return super.encodePerUnaligned();
}
@Override public Iterable<BitStream> encodePerAligned() {
return super.encodePerAligned();
}
@Override public void decodePerUnaligned(BitStreamReader reader) {
super.decodePerUnaligned(reader);
}
@Override public void decodePerAligned(BitStreamReader reader) {
super.decodePerAligned(reader);
}
@Override public String toString() {
return toIndentedString("");
}
public String toIndentedString(String indent) {
return "kpType = " + getValue() + ";\n";
}
}
@Override public Iterable<BitStream> encodePerUnaligned() {
return super.encodePerUnaligned();
}
@Override public Iterable<BitStream> encodePerAligned() {
return super.encodePerAligned();
}
@Override public void decodePerUnaligned(BitStreamReader reader) {
super.decodePerUnaligned(reader);
}
@Override public void decodePerAligned(BitStreamReader reader) {
super.decodePerAligned(reader);
}
@Override public String toString() {
return toIndentedString("");
}
public String toIndentedString(String indent) {
StringBuilder builder = new StringBuilder();
builder.append("UTCmodelSet3 = {\n");
final String internalIndent = indent + " ";
for (SequenceComponent component : getComponents()) {
if (component.isExplicitlySet()) {
builder.append(internalIndent)
.append(component.toIndentedString(internalIndent));
}
}
if (isExtensible()) {
builder.append(internalIndent).append("...\n");
for (SequenceComponent component : getExtensionComponents()) {
if (component.isExplicitlySet()) {
builder.append(internalIndent)
.append(component.toIndentedString(internalIndent));
}
}
}
builder.append(indent).append("};\n");
return builder.toString();
}
}