com.facebook.litho.annotations.OnCreateTreeProp Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of litho-annotations Show documentation
Show all versions of litho-annotations Show documentation
The annotations that are used in the Litho library
/*
* 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.annotations;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
/**
* An annotation for a Spec method that generates tree props.
* These tree props will be passed silently to all of the Component's children.
*
* Tree props are stored in a map keyed on their individual class object, meaning there will only be
* one entry for tree props of any given type. PLEASE DO NOT USE COMMON JAVA CLASSES, for example,
* String, Integer etc; creates a wrapper class instead.
*
* Example usage:
*
*
* {@literal @}LayoutSpec
* public class MySpec {
*
* {@literal @}OnCreateTreeProp
* SomeTreePropClass onCreateSomeTreeProp(
* ComponentsContext c,
* {@literal @}Prop SomeProp prop) {
* return new SomeTreePropClass(prop.getSomeProperty());
* }
* }
*
*/
@Retention(RetentionPolicy.RUNTIME)
public @interface OnCreateTreeProp {
}