/** * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. * * You are hereby granted a non-exclusive, worldwide, royalty-free license to use, * copy, modify, and distribute this software in source code or binary form for use * in connection with the web services and APIs provided by Facebook. * * As with any software that integrates with the Facebook platform, your use of * this software is subject to the Facebook Developer Principles and Policies * [http://developers.facebook.com/policy/]. This copyright notice shall be * included in all copies or substantial portions of the software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ package com.facebook.share.model; import android.os.Parcel; import com.facebook.internal.NativeProtocol; /** * Describes an Open Graph Object to be created. * <p/> * Use {@link ShareOpenGraphObject.Builder} to create instances * <p/> * See the documentation for * <a href="https://developers.facebook.com/docs/opengraph/objects/">Open Graph Objects</a>. */ public final class ShareOpenGraphObject extends ShareOpenGraphValueContainer<ShareOpenGraphObject, ShareOpenGraphObject.Builder> { private ShareOpenGraphObject(final Builder builder) { super(builder); } ShareOpenGraphObject(final Parcel in) { super(in); } @SuppressWarnings("unused") public static final Creator<ShareOpenGraphObject> CREATOR = new Creator<ShareOpenGraphObject>() { public ShareOpenGraphObject createFromParcel(final Parcel in) { return new ShareOpenGraphObject(in); } public ShareOpenGraphObject[] newArray(final int size) { return new ShareOpenGraphObject[size]; } }; /** * Builder for the {@link com.facebook.share.model.ShareOpenGraphObject} interface. */ public static final class Builder extends ShareOpenGraphValueContainer.Builder<ShareOpenGraphObject, Builder> { public Builder() { super(); this.putBoolean(NativeProtocol.OPEN_GRAPH_CREATE_OBJECT_KEY, true); } @Override public ShareOpenGraphObject build() { return new ShareOpenGraphObject(this); } @Override public Builder readFrom(final Parcel parcel) { return this.readFrom( (ShareOpenGraphObject)parcel.readParcelable( ShareOpenGraphObject.class.getClassLoader())); } } }