Android examples for android.os:Parcel
Write a Serializable object with a presence flag into the Parcel .
/*//from w w w .j av a 2 s . co m * Copyright (C) 2014 Neo Visionaries Inc. * * 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 com.java2s; import java.io.Serializable; import android.os.Parcel; public class Main { /** * Write a {@code Serializable} object with a presence flag into the {@code Parcel}. * * <p> * First, this method checks whether {@code value} is {@code null} or not. * When {@code null}, this method writes {@code false} into the {@code Parcel} * by calling {@link #writeBoolean(Parcel, boolean) writeBoolean(false)} and * does nothing any more. Otherwise, when not {@code null}, this method writes * {@code true} by calling {@link #writeBoolean(Parcel, boolean) * writeBoolean(true)} and then writes the {@code Serializable} object by calling * {@link Parcel#writeSerializable(Serializable) out.writeSerializable(value)}. * </p> * * @param out * {@code Parcel} to write into. * * @param value * A {@code String} object to write. */ public static void writeSerializableWithPresenceFlag(Parcel out, Serializable value) { if (value == null) { // Not present. writeBoolean(out, false); } else { // Present. writeBoolean(out, true); // The value. out.writeSerializable(value); } } /** * Write a {@code boolean} value into the {@code Parcel}. * * <p> * This method writes {@code (byte)1} when {@code value} is {@code true} * and writes {@code (byte)0} when {@code value} is {@code false}. * </p> * * @param out * {@code Parcel} to write into. * * @param value * A boolean value to write. */ public static void writeBoolean(Parcel out, boolean value) { out.writeByte(value ? (byte) 1 : (byte) 0); } }