/** * Copyright (c) 2017-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ package com.facebook.litho; import com.facebook.infer.annotation.ReturnsOwnership; import com.facebook.infer.annotation.ThreadSafe; /** * Type for parameters that are logical outputs. */ public class Output<T> { private T mT; /** * Assumed thread-safe because the one write is before all the reads */ @ThreadSafe(enableChecks = false) public void set(T t) { mT = t; } @ReturnsOwnership public T get() { return mT; } void release() { mT = null; } }