Skip to content

Fragment Extras Builder

Roman Tcaregorodtcev edited this page Apr 2, 2018 · 2 revisions

Simple way to create and put data to fragment.

  • @OmegaFragment - annotation for fragments.
  • @OmegaExtraModel - annotation for classes, which will be putted to bundle.
  • @OmegaExtra - annotation for fields, which will be putted to bundle.

@OmegaExtraModel and @OmegaExtra support prefix for generated method name.
If you wan't annotate your class with @OmegaExtra - this class should be implements Serializable

Usage

First step - annotate your fragment with @OmegaFragment

Second step - annotate fields with @OmegaExtraModel or @OmegaExtra

@OmegaFragment
public class FirstFragment extends BaseFragment {

    @OmegaExtra
    String value;
    
    @OmegaExtraModel
    Model model;

    public FirstFragment() {
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        AppOmegaFragmentBuilder.inject(this);
    }

Third step - don't forget write AppOmegaFragmentBuilder.inject(this) in onCreate method.

Model class

public class Model implements Serializable {
    @OmegaExtra("Var2")
    String url;

    public String getUrl() {
        return url;
    }
}

Fourth step - fill out your data.

AppOmegaFragmentBuilder.secondFragment()
                       .value("Second fragment")
                       .createFragment();