/* * Copyright (c) 2017 - 2019, SmartDeviceLink Consortium, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following * disclaimer in the documentation and/or other materials provided with the * distribution. * * Neither the name of the SmartDeviceLink Consortium, Inc. nor the names of its * contributors may be used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ package com.smartdevicelink.proxy.rpc; import androidx.annotation.NonNull; import com.smartdevicelink.proxy.RPCStruct; import com.smartdevicelink.proxy.rpc.enums.SupportedSeat; import java.util.Hashtable; import java.util.List; /** * Seat control data corresponds to "SEAT" ModuleType. */ public class SeatControlData extends RPCStruct { public static final String KEY_ID = "id"; public static final String KEY_HEATING_ENABLED = "heatingEnabled"; public static final String KEY_COOLING_ENABLED = "coolingEnabled"; public static final String KEY_HEATING_LEVEL = "heatingLevel"; public static final String KEY_COOLING_LEVEL = "coolingLevel"; public static final String KEY_HORIZONTAL_POSITION = "horizontalPosition"; public static final String KEY_VERTICAL_POSITION = "verticalPosition"; public static final String KEY_FRONT_VERTICAL_POSITION = "frontVerticalPosition"; public static final String KEY_BACK_VERTICAL_POSITION = "backVerticalPosition"; public static final String KEY_BACK_TILT_ANGLE = "backTiltAngle"; public static final String KEY_HEAD_SUPPORT_HORIZONTAL_POSITION = "headSupportHorizontalPosition"; public static final String KEY_HEAD_SUPPORT_VERTICAL_POSITION = "headSupportVerticalPosition"; public static final String KEY_MASSAGE_ENABLED = "massageEnabled"; public static final String KEY_MASSAGE_MODE = "massageMode"; public static final String KEY_MASSAGE_CUSHION_FIRMNESS = "massageCushionFirmness"; public static final String KEY_MEMORY = "memory"; /** * Constructs a new SeatControlData object */ public SeatControlData() { } /** *

Constructs a new SeatControlData object indicated by the Hashtable parameter *

* * @param hash The Hashtable to use */ public SeatControlData(Hashtable hash) { super(hash); } /** * Constructs a newly allocated SeatControlData object * @param id type of SupportedSeat. */ public SeatControlData(@NonNull SupportedSeat id) { this(); setId(id); } /** * Sets the id portion of the SeatControlData class * * @param id */ public SeatControlData setId(@NonNull SupportedSeat id) { setValue(KEY_ID, id); return this; } /** * Gets the id portion of the SeatControlData class * * @return SupportedSeat. */ public SupportedSeat getId() { return (SupportedSeat) getObject(SupportedSeat.class, KEY_ID); } /** * Sets the heatingEnabled portion of the SeatControlData class * * @param heatingEnabled */ public SeatControlData setHeatingEnabled( Boolean heatingEnabled) { setValue(KEY_HEATING_ENABLED, heatingEnabled); return this; } /** * Gets the heatingEnabled portion of the SeatControlData class * * @return Boolean. */ public Boolean getHeatingEnabled() { return getBoolean(KEY_HEATING_ENABLED); } /** * Sets the coolingEnabled portion of the SeatControlData class * * @param coolingEnabled */ public SeatControlData setCoolingEnabled( Boolean coolingEnabled) { setValue(KEY_COOLING_ENABLED, coolingEnabled); return this; } /** * Gets the coolingEnabled portion of the SeatControlData class * * @return Boolean. */ public Boolean getCoolingEnabled() { return getBoolean(KEY_COOLING_ENABLED); } /** * Sets the heatingLevel portion of the SeatControlData class * * @param heatingLevel */ public SeatControlData setHeatingLevel( Integer heatingLevel) { setValue(KEY_HEATING_LEVEL, heatingLevel); return this; } /** * Gets the heatingLevel portion of the SeatControlData class * * @return Integer */ public Integer getHeatingLevel() { return getInteger(KEY_HEATING_LEVEL); } /** * Sets the coolingLevel portion of the SeatControlData class * * @param coolingLevel */ public SeatControlData setCoolingLevel( Integer coolingLevel) { setValue(KEY_COOLING_LEVEL, coolingLevel); return this; } /** * Gets the coolingLevel portion of the SeatControlData class * * @return Integer */ public Integer getCoolingLevel() { return getInteger(KEY_COOLING_LEVEL); } /** * Sets the horizontalPosition portion of the SeatControlData class * * @param horizontalPosition */ public SeatControlData setHorizontalPosition( Integer horizontalPosition) { setValue(KEY_HORIZONTAL_POSITION, horizontalPosition); return this; } /** * Gets the horizontalPosition portion of the SeatControlData class * * @return Integer */ public Integer getHorizontalPosition() { return getInteger(KEY_HORIZONTAL_POSITION); } /** * Sets the verticalPosition portion of the SeatControlData class * * @param verticalPosition */ public SeatControlData setVerticalPosition( Integer verticalPosition) { setValue(KEY_VERTICAL_POSITION, verticalPosition); return this; } /** * Gets the verticalPosition portion of the SeatControlData class * * @return Integer */ public Integer getVerticalPosition() { return getInteger(KEY_VERTICAL_POSITION); } /** * Sets the frontVerticalPosition portion of the SeatControlData class * * @param frontVerticalPosition */ public SeatControlData setFrontVerticalPosition( Integer frontVerticalPosition) { setValue(KEY_FRONT_VERTICAL_POSITION, frontVerticalPosition); return this; } /** * Gets the frontVerticalPosition portion of the SeatControlData class * * @return Integer */ public Integer getFrontVerticalPosition() { return getInteger(KEY_FRONT_VERTICAL_POSITION); } /** * Sets the backVerticalPosition portion of the SeatControlData class * * @param backVerticalPosition */ public SeatControlData setBackVerticalPosition( Integer backVerticalPosition) { setValue(KEY_BACK_VERTICAL_POSITION, backVerticalPosition); return this; } /** * Gets the backVerticalPosition portion of the SeatControlData class * * @return Integer */ public Integer getBackVerticalPosition() { return getInteger(KEY_BACK_VERTICAL_POSITION); } /** * Sets the backTiltAngle portion of the SeatControlData class * * @param backTiltAngle */ public SeatControlData setBackTiltAngle( Integer backTiltAngle) { setValue(KEY_BACK_TILT_ANGLE, backTiltAngle); return this; } /** * Gets the backTiltAngle portion of the SeatControlData class * * @return Integer */ public Integer getBackTiltAngle() { return getInteger(KEY_BACK_TILT_ANGLE); } /** * Sets the headSupportHorizontalPosition portion of the SeatControlData class * * @param headSupportHorizontalPosition */ public SeatControlData setHeadSupportHorizontalPosition( Integer headSupportHorizontalPosition) { setValue(KEY_HEAD_SUPPORT_HORIZONTAL_POSITION, headSupportHorizontalPosition); return this; } /** * Gets the headSupportHorizontalPosition portion of the SeatControlData class * * @return Integer */ public Integer getHeadSupportHorizontalPosition() { return getInteger(KEY_HEAD_SUPPORT_HORIZONTAL_POSITION); } /** * Sets the headSupportVerticalPosition portion of the SeatControlData class * * @param headSupportVerticalPosition */ public SeatControlData setHeadSupportVerticalPosition( Integer headSupportVerticalPosition) { setValue(KEY_HEAD_SUPPORT_VERTICAL_POSITION, headSupportVerticalPosition); return this; } /** * Gets the headSupportVerticalPosition portion of the SeatControlData class * * @return Integer */ public Integer getHeadSupportVerticalPosition() { return getInteger(KEY_HEAD_SUPPORT_VERTICAL_POSITION); } /** * Sets the massageEnabled portion of the SeatControlData class * * @param massageEnabled */ public SeatControlData setMassageEnabled( Boolean massageEnabled) { setValue(KEY_MASSAGE_ENABLED, massageEnabled); return this; } /** * Gets the massageEnabled portion of the SeatControlData class * * @return Boolean. */ public Boolean getMassageEnabled() { return getBoolean(KEY_MASSAGE_ENABLED); } /** * Gets the List portion of the SeatControlData class * * @return List. */ @SuppressWarnings("unchecked") public List getMassageMode() { return (List) getObject(MassageModeData.class, KEY_MASSAGE_MODE); } /** * Sets the massageMode portion of the SeatControlData class * * @param massageMode */ public SeatControlData setMassageMode( List massageMode) { setValue(KEY_MASSAGE_MODE, massageMode); return this; } /** * Gets the List portion of the SeatControlData class * * @return List. */ @SuppressWarnings("unchecked") public List getMassageCushionFirmness() { return (List) getObject(MassageCushionFirmness.class, KEY_MASSAGE_CUSHION_FIRMNESS); } /** * Sets the massageCushionFirmness portion of the SeatControlData class * * @param massageCushionFirmness */ public SeatControlData setMassageCushionFirmness( List massageCushionFirmness) { setValue(KEY_MASSAGE_CUSHION_FIRMNESS, massageCushionFirmness); return this; } /** * Sets the memory portion of the SeatControlData class * * @param memory */ public SeatControlData setMemory( SeatMemoryAction memory) { setValue(KEY_MEMORY, memory); return this; } /** * Gets the memory portion of the SeatControlData class * * @return SeatMemoryAction. */ public SeatMemoryAction getMemory() { return (SeatMemoryAction) getObject(SeatMemoryAction.class, KEY_MEMORY); } }