/* * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ package codetoanalyze.java.litho; import com.facebook.litho.Component; import com.facebook.litho.annotations.Prop; public class MyComponent extends Component { @Prop Object prop1; // implicitly non-optional @Prop(optional = true) Object prop2; // explicitly optional @Prop(optional = false) Object prop3; // explicitly non-optional Object nonProp; public Builder create() { return new Builder(); } public static class Builder extends Component.Builder { MyComponent mMyComponent; public Builder prop1(Object o) { this.mMyComponent.prop1 = o; return this; } public Builder prop2(Object o) { this.mMyComponent.prop2 = o; return this; } public Builder prop3(Object o) { this.mMyComponent.prop3 = o; return this; } public MyComponent build() { return mMyComponent; } @Override public Builder getThis() { return this; } } }