// Generated by data binding compiler. Do not edit!
package com.toughra.ustadmobile.databinding;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.widget.NestedScrollView;
import androidx.databinding.Bindable;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ViewDataBinding;
import com.google.android.material.textfield.TextInputEditText;
import com.google.android.material.textfield.TextInputLayout;
import com.toughra.ustadmobile.R;
import com.ustadmobile.core.controller.ClazzEnrolmentEditPresenter;
import com.ustadmobile.core.util.IdOption;
import com.ustadmobile.lib.db.entities.ClazzEnrolmentWithLeavingReason;
import com.ustadmobile.port.android.view.DropDownListAutoCompleteTextView;
import com.ustadmobile.port.android.view.IdOptionAutoCompleteTextView;
import java.lang.Deprecated;
import java.lang.Object;
import java.util.List;

public abstract class FragmentClazzEnrolmentBinding extends ViewDataBinding {
  @NonNull
  public final TextInputEditText clazzEnrolmentEditFromDateText;

  @NonNull
  public final TextInputLayout clazzEnrolmentEditFromDateTextinputlayout;

  @NonNull
  public final IdOptionAutoCompleteTextView clazzEnrolmentEditOutcomeText;

  @NonNull
  public final TextInputLayout clazzEnrolmentEditOutcomeTextinputlayout;

  @NonNull
  public final TextInputEditText clazzEnrolmentEditReasonText;

  @NonNull
  public final TextInputLayout clazzEnrolmentEditReasonTextinputlayout;

  @NonNull
  public final IdOptionAutoCompleteTextView clazzEnrolmentEditRoleText;

  @NonNull
  public final TextInputLayout clazzEnrolmentEditRoleTextinputlayout;

  @NonNull
  public final TextInputEditText clazzEnrolmentEditToDateText;

  @NonNull
  public final TextInputLayout clazzEnrolmentEditToDateTextinputlayout;

  @NonNull
  public final ConstraintLayout fragmentClazzEnrolmentEditClx;

  @NonNull
  public final NestedScrollView fragmentClazzEnrolmentEditScroll;

  @Bindable
  protected ClazzEnrolmentWithLeavingReason mClazzEnrolment;

  @Bindable
  protected ClazzEnrolmentEditPresenter mPresenter;

  @Bindable
  protected boolean mLoading;

  @Bindable
  protected boolean mFieldsEnabled;

  @Bindable
  protected List<IdOption> mRoleOptions;

  @Bindable
  protected List<IdOption> mStatusOptions;

  @Bindable
  protected String mStartDateError;

  @Bindable
  protected String mEndDateError;

  @Bindable
  protected String mRoleSelectedError;

  @Bindable
  protected DropDownListAutoCompleteTextView.OnDropDownListItemSelectedListener<IdOption> mStatusSelectorListener;

  @Bindable
  protected Integer mDateTimeMode;

  @Bindable
  protected Integer mDateTimeModeEnd;

  @Bindable
  protected String mTimeZoneId;

  protected FragmentClazzEnrolmentBinding(Object _bindingComponent, View _root,
      int _localFieldCount, TextInputEditText clazzEnrolmentEditFromDateText,
      TextInputLayout clazzEnrolmentEditFromDateTextinputlayout,
      IdOptionAutoCompleteTextView clazzEnrolmentEditOutcomeText,
      TextInputLayout clazzEnrolmentEditOutcomeTextinputlayout,
      TextInputEditText clazzEnrolmentEditReasonText,
      TextInputLayout clazzEnrolmentEditReasonTextinputlayout,
      IdOptionAutoCompleteTextView clazzEnrolmentEditRoleText,
      TextInputLayout clazzEnrolmentEditRoleTextinputlayout,
      TextInputEditText clazzEnrolmentEditToDateText,
      TextInputLayout clazzEnrolmentEditToDateTextinputlayout,
      ConstraintLayout fragmentClazzEnrolmentEditClx,
      NestedScrollView fragmentClazzEnrolmentEditScroll) {
    super(_bindingComponent, _root, _localFieldCount);
    this.clazzEnrolmentEditFromDateText = clazzEnrolmentEditFromDateText;
    this.clazzEnrolmentEditFromDateTextinputlayout = clazzEnrolmentEditFromDateTextinputlayout;
    this.clazzEnrolmentEditOutcomeText = clazzEnrolmentEditOutcomeText;
    this.clazzEnrolmentEditOutcomeTextinputlayout = clazzEnrolmentEditOutcomeTextinputlayout;
    this.clazzEnrolmentEditReasonText = clazzEnrolmentEditReasonText;
    this.clazzEnrolmentEditReasonTextinputlayout = clazzEnrolmentEditReasonTextinputlayout;
    this.clazzEnrolmentEditRoleText = clazzEnrolmentEditRoleText;
    this.clazzEnrolmentEditRoleTextinputlayout = clazzEnrolmentEditRoleTextinputlayout;
    this.clazzEnrolmentEditToDateText = clazzEnrolmentEditToDateText;
    this.clazzEnrolmentEditToDateTextinputlayout = clazzEnrolmentEditToDateTextinputlayout;
    this.fragmentClazzEnrolmentEditClx = fragmentClazzEnrolmentEditClx;
    this.fragmentClazzEnrolmentEditScroll = fragmentClazzEnrolmentEditScroll;
  }

  public abstract void setClazzEnrolment(@Nullable ClazzEnrolmentWithLeavingReason clazzEnrolment);

  @Nullable
  public ClazzEnrolmentWithLeavingReason getClazzEnrolment() {
    return mClazzEnrolment;
  }

  public abstract void setPresenter(@Nullable ClazzEnrolmentEditPresenter presenter);

  @Nullable
  public ClazzEnrolmentEditPresenter getPresenter() {
    return mPresenter;
  }

  public abstract void setLoading(boolean loading);

  public boolean getLoading() {
    return mLoading;
  }

  public abstract void setFieldsEnabled(boolean fieldsEnabled);

  public boolean getFieldsEnabled() {
    return mFieldsEnabled;
  }

  public abstract void setRoleOptions(@Nullable List<IdOption> roleOptions);

  @Nullable
  public List<IdOption> getRoleOptions() {
    return mRoleOptions;
  }

  public abstract void setStatusOptions(@Nullable List<IdOption> statusOptions);

  @Nullable
  public List<IdOption> getStatusOptions() {
    return mStatusOptions;
  }

  public abstract void setStartDateError(@Nullable String startDateError);

  @Nullable
  public String getStartDateError() {
    return mStartDateError;
  }

  public abstract void setEndDateError(@Nullable String endDateError);

  @Nullable
  public String getEndDateError() {
    return mEndDateError;
  }

  public abstract void setRoleSelectedError(@Nullable String roleSelectedError);

  @Nullable
  public String getRoleSelectedError() {
    return mRoleSelectedError;
  }

  public abstract void setStatusSelectorListener(
      @Nullable DropDownListAutoCompleteTextView.OnDropDownListItemSelectedListener<IdOption> statusSelectorListener);

  @Nullable
  public DropDownListAutoCompleteTextView.OnDropDownListItemSelectedListener<IdOption> getStatusSelectorListener(
      ) {
    return mStatusSelectorListener;
  }

  public abstract void setDateTimeMode(@Nullable Integer dateTimeMode);

  @Nullable
  public Integer getDateTimeMode() {
    return mDateTimeMode;
  }

  public abstract void setDateTimeModeEnd(@Nullable Integer dateTimeModeEnd);

  @Nullable
  public Integer getDateTimeModeEnd() {
    return mDateTimeModeEnd;
  }

  public abstract void setTimeZoneId(@Nullable String timeZoneId);

  @Nullable
  public String getTimeZoneId() {
    return mTimeZoneId;
  }

  @NonNull
  public static FragmentClazzEnrolmentBinding inflate(@NonNull LayoutInflater inflater,
      @Nullable ViewGroup root, boolean attachToRoot) {
    return inflate(inflater, root, attachToRoot, DataBindingUtil.getDefaultComponent());
  }

  /**
   * This method receives DataBindingComponent instance as type Object instead of
   * type DataBindingComponent to avoid causing too many compilation errors if
   * compilation fails for another reason.
   * https://issuetracker.google.com/issues/116541301
   * @Deprecated Use DataBindingUtil.inflate(inflater, R.layout.fragment_clazz_enrolment, root, attachToRoot, component)
   */
  @NonNull
  @Deprecated
  public static FragmentClazzEnrolmentBinding inflate(@NonNull LayoutInflater inflater,
      @Nullable ViewGroup root, boolean attachToRoot, @Nullable Object component) {
    return ViewDataBinding.<FragmentClazzEnrolmentBinding>inflateInternal(inflater, R.layout.fragment_clazz_enrolment, root, attachToRoot, component);
  }

  @NonNull
  public static FragmentClazzEnrolmentBinding inflate(@NonNull LayoutInflater inflater) {
    return inflate(inflater, DataBindingUtil.getDefaultComponent());
  }

  /**
   * This method receives DataBindingComponent instance as type Object instead of
   * type DataBindingComponent to avoid causing too many compilation errors if
   * compilation fails for another reason.
   * https://issuetracker.google.com/issues/116541301
   * @Deprecated Use DataBindingUtil.inflate(inflater, R.layout.fragment_clazz_enrolment, null, false, component)
   */
  @NonNull
  @Deprecated
  public static FragmentClazzEnrolmentBinding inflate(@NonNull LayoutInflater inflater,
      @Nullable Object component) {
    return ViewDataBinding.<FragmentClazzEnrolmentBinding>inflateInternal(inflater, R.layout.fragment_clazz_enrolment, null, false, component);
  }

  public static FragmentClazzEnrolmentBinding bind(@NonNull View view) {
    return bind(view, DataBindingUtil.getDefaultComponent());
  }

  /**
   * This method receives DataBindingComponent instance as type Object instead of
   * type DataBindingComponent to avoid causing too many compilation errors if
   * compilation fails for another reason.
   * https://issuetracker.google.com/issues/116541301
   * @Deprecated Use DataBindingUtil.bind(view, component)
   */
  @Deprecated
  public static FragmentClazzEnrolmentBinding bind(@NonNull View view, @Nullable Object component) {
    return (FragmentClazzEnrolmentBinding)bind(component, view, R.layout.fragment_clazz_enrolment);
  }
}
