/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file 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 com.amazonaws.services.iotwireless.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** * <p> * GSM object. * </p> * * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GsmObj" target="_top">AWS API * Documentation</a> */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class GsmObj implements Serializable, Cloneable, StructuredPojo { /** * <p> * Mobile Country Code. * </p> */ private Integer mcc; /** * <p> * Mobile Network Code. * </p> */ private Integer mnc; /** * <p> * Location area code. * </p> */ private Integer lac; /** * <p> * GERAN (GSM EDGE Radio Access Network) Cell Global Identifier. * </p> */ private Integer geranCid; /** * <p> * GSM local identification (local ID) information. * </p> */ private GsmLocalId gsmLocalId; /** * <p> * Timing advance value, which corresponds to the length of time a signal takes to reach the base station from a * mobile phone. * </p> */ private Integer gsmTimingAdvance; /** * <p> * Rx level, which is the received signal power, measured in dBm (decibel-milliwatts). * </p> */ private Integer rxLevel; /** * <p> * GSM object for network measurement reports. * </p> */ private java.util.List<GsmNmrObj> gsmNmr; /** * <p> * Mobile Country Code. * </p> * * @param mcc * Mobile Country Code. */ public void setMcc(Integer mcc) { this.mcc = mcc; } /** * <p> * Mobile Country Code. * </p> * * @return Mobile Country Code. */ public Integer getMcc() { return this.mcc; } /** * <p> * Mobile Country Code. * </p> * * @param mcc * Mobile Country Code. * @return Returns a reference to this object so that method calls can be chained together. */ public GsmObj withMcc(Integer mcc) { setMcc(mcc); return this; } /** * <p> * Mobile Network Code. * </p> * * @param mnc * Mobile Network Code. */ public void setMnc(Integer mnc) { this.mnc = mnc; } /** * <p> * Mobile Network Code. * </p> * * @return Mobile Network Code. */ public Integer getMnc() { return this.mnc; } /** * <p> * Mobile Network Code. * </p> * * @param mnc * Mobile Network Code. * @return Returns a reference to this object so that method calls can be chained together. */ public GsmObj withMnc(Integer mnc) { setMnc(mnc); return this; } /** * <p> * Location area code. * </p> * * @param lac * Location area code. */ public void setLac(Integer lac) { this.lac = lac; } /** * <p> * Location area code. * </p> * * @return Location area code. */ public Integer getLac() { return this.lac; } /** * <p> * Location area code. * </p> * * @param lac * Location area code. * @return Returns a reference to this object so that method calls can be chained together. */ public GsmObj withLac(Integer lac) { setLac(lac); return this; } /** * <p> * GERAN (GSM EDGE Radio Access Network) Cell Global Identifier. * </p> * * @param geranCid * GERAN (GSM EDGE Radio Access Network) Cell Global Identifier. */ public void setGeranCid(Integer geranCid) { this.geranCid = geranCid; } /** * <p> * GERAN (GSM EDGE Radio Access Network) Cell Global Identifier. * </p> * * @return GERAN (GSM EDGE Radio Access Network) Cell Global Identifier. */ public Integer getGeranCid() { return this.geranCid; } /** * <p> * GERAN (GSM EDGE Radio Access Network) Cell Global Identifier. * </p> * * @param geranCid * GERAN (GSM EDGE Radio Access Network) Cell Global Identifier. * @return Returns a reference to this object so that method calls can be chained together. */ public GsmObj withGeranCid(Integer geranCid) { setGeranCid(geranCid); return this; } /** * <p> * GSM local identification (local ID) information. * </p> * * @param gsmLocalId * GSM local identification (local ID) information. */ public void setGsmLocalId(GsmLocalId gsmLocalId) { this.gsmLocalId = gsmLocalId; } /** * <p> * GSM local identification (local ID) information. * </p> * * @return GSM local identification (local ID) information. */ public GsmLocalId getGsmLocalId() { return this.gsmLocalId; } /** * <p> * GSM local identification (local ID) information. * </p> * * @param gsmLocalId * GSM local identification (local ID) information. * @return Returns a reference to this object so that method calls can be chained together. */ public GsmObj withGsmLocalId(GsmLocalId gsmLocalId) { setGsmLocalId(gsmLocalId); return this; } /** * <p> * Timing advance value, which corresponds to the length of time a signal takes to reach the base station from a * mobile phone. * </p> * * @param gsmTimingAdvance * Timing advance value, which corresponds to the length of time a signal takes to reach the base station * from a mobile phone. */ public void setGsmTimingAdvance(Integer gsmTimingAdvance) { this.gsmTimingAdvance = gsmTimingAdvance; } /** * <p> * Timing advance value, which corresponds to the length of time a signal takes to reach the base station from a * mobile phone. * </p> * * @return Timing advance value, which corresponds to the length of time a signal takes to reach the base station * from a mobile phone. */ public Integer getGsmTimingAdvance() { return this.gsmTimingAdvance; } /** * <p> * Timing advance value, which corresponds to the length of time a signal takes to reach the base station from a * mobile phone. * </p> * * @param gsmTimingAdvance * Timing advance value, which corresponds to the length of time a signal takes to reach the base station * from a mobile phone. * @return Returns a reference to this object so that method calls can be chained together. */ public GsmObj withGsmTimingAdvance(Integer gsmTimingAdvance) { setGsmTimingAdvance(gsmTimingAdvance); return this; } /** * <p> * Rx level, which is the received signal power, measured in dBm (decibel-milliwatts). * </p> * * @param rxLevel * Rx level, which is the received signal power, measured in dBm (decibel-milliwatts). */ public void setRxLevel(Integer rxLevel) { this.rxLevel = rxLevel; } /** * <p> * Rx level, which is the received signal power, measured in dBm (decibel-milliwatts). * </p> * * @return Rx level, which is the received signal power, measured in dBm (decibel-milliwatts). */ public Integer getRxLevel() { return this.rxLevel; } /** * <p> * Rx level, which is the received signal power, measured in dBm (decibel-milliwatts). * </p> * * @param rxLevel * Rx level, which is the received signal power, measured in dBm (decibel-milliwatts). * @return Returns a reference to this object so that method calls can be chained together. */ public GsmObj withRxLevel(Integer rxLevel) { setRxLevel(rxLevel); return this; } /** * <p> * GSM object for network measurement reports. * </p> * * @return GSM object for network measurement reports. */ public java.util.List<GsmNmrObj> getGsmNmr() { return gsmNmr; } /** * <p> * GSM object for network measurement reports. * </p> * * @param gsmNmr * GSM object for network measurement reports. */ public void setGsmNmr(java.util.Collection<GsmNmrObj> gsmNmr) { if (gsmNmr == null) { this.gsmNmr = null; return; } this.gsmNmr = new java.util.ArrayList<GsmNmrObj>(gsmNmr); } /** * <p> * GSM object for network measurement reports. * </p> * <p> * <b>NOTE:</b> This method appends the values to the existing list (if any). Use * {@link #setGsmNmr(java.util.Collection)} or {@link #withGsmNmr(java.util.Collection)} if you want to override the * existing values. * </p> * * @param gsmNmr * GSM object for network measurement reports. * @return Returns a reference to this object so that method calls can be chained together. */ public GsmObj withGsmNmr(GsmNmrObj... gsmNmr) { if (this.gsmNmr == null) { setGsmNmr(new java.util.ArrayList<GsmNmrObj>(gsmNmr.length)); } for (GsmNmrObj ele : gsmNmr) { this.gsmNmr.add(ele); } return this; } /** * <p> * GSM object for network measurement reports. * </p> * * @param gsmNmr * GSM object for network measurement reports. * @return Returns a reference to this object so that method calls can be chained together. */ public GsmObj withGsmNmr(java.util.Collection<GsmNmrObj> gsmNmr) { setGsmNmr(gsmNmr); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getMcc() != null) sb.append("Mcc: ").append(getMcc()).append(","); if (getMnc() != null) sb.append("Mnc: ").append(getMnc()).append(","); if (getLac() != null) sb.append("Lac: ").append(getLac()).append(","); if (getGeranCid() != null) sb.append("GeranCid: ").append(getGeranCid()).append(","); if (getGsmLocalId() != null) sb.append("GsmLocalId: ").append(getGsmLocalId()).append(","); if (getGsmTimingAdvance() != null) sb.append("GsmTimingAdvance: ").append(getGsmTimingAdvance()).append(","); if (getRxLevel() != null) sb.append("RxLevel: ").append(getRxLevel()).append(","); if (getGsmNmr() != null) sb.append("GsmNmr: ").append(getGsmNmr()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof GsmObj == false) return false; GsmObj other = (GsmObj) obj; if (other.getMcc() == null ^ this.getMcc() == null) return false; if (other.getMcc() != null && other.getMcc().equals(this.getMcc()) == false) return false; if (other.getMnc() == null ^ this.getMnc() == null) return false; if (other.getMnc() != null && other.getMnc().equals(this.getMnc()) == false) return false; if (other.getLac() == null ^ this.getLac() == null) return false; if (other.getLac() != null && other.getLac().equals(this.getLac()) == false) return false; if (other.getGeranCid() == null ^ this.getGeranCid() == null) return false; if (other.getGeranCid() != null && other.getGeranCid().equals(this.getGeranCid()) == false) return false; if (other.getGsmLocalId() == null ^ this.getGsmLocalId() == null) return false; if (other.getGsmLocalId() != null && other.getGsmLocalId().equals(this.getGsmLocalId()) == false) return false; if (other.getGsmTimingAdvance() == null ^ this.getGsmTimingAdvance() == null) return false; if (other.getGsmTimingAdvance() != null && other.getGsmTimingAdvance().equals(this.getGsmTimingAdvance()) == false) return false; if (other.getRxLevel() == null ^ this.getRxLevel() == null) return false; if (other.getRxLevel() != null && other.getRxLevel().equals(this.getRxLevel()) == false) return false; if (other.getGsmNmr() == null ^ this.getGsmNmr() == null) return false; if (other.getGsmNmr() != null && other.getGsmNmr().equals(this.getGsmNmr()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getMcc() == null) ? 0 : getMcc().hashCode()); hashCode = prime * hashCode + ((getMnc() == null) ? 0 : getMnc().hashCode()); hashCode = prime * hashCode + ((getLac() == null) ? 0 : getLac().hashCode()); hashCode = prime * hashCode + ((getGeranCid() == null) ? 0 : getGeranCid().hashCode()); hashCode = prime * hashCode + ((getGsmLocalId() == null) ? 0 : getGsmLocalId().hashCode()); hashCode = prime * hashCode + ((getGsmTimingAdvance() == null) ? 0 : getGsmTimingAdvance().hashCode()); hashCode = prime * hashCode + ((getRxLevel() == null) ? 0 : getRxLevel().hashCode()); hashCode = prime * hashCode + ((getGsmNmr() == null) ? 0 : getGsmNmr().hashCode()); return hashCode; } @Override public GsmObj clone() { try { return (GsmObj) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.iotwireless.model.transform.GsmObjMarshaller.getInstance().marshall(this, protocolMarshaller); } }