// 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.coordinatorlayout.widget.CoordinatorLayout;
import androidx.databinding.Bindable;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ViewDataBinding;
import androidx.viewpager2.widget.ViewPager2;
import com.toughra.ustadmobile.R;
import com.ustadmobile.core.view.EditButtonMode;
import com.ustadmobile.lib.db.entities.ClazzAssignment;
import com.ustadmobile.port.android.view.ClazzAssignmentDetailFragmentEventHandler;
import java.lang.Deprecated;
import java.lang.Object;

public abstract class FragmentClazzAssignmentDetailBinding extends ViewDataBinding {
  @NonNull
  public final CoordinatorLayout coordinationLayout;

  @NonNull
  public final AppbarMaterialTabsScrollableBinding fragmentClazzAssignmentDetailTabs;

  @NonNull
  public final ViewPager2 fragmentClazzAssignmentDetailViewpager;

  @Bindable
  protected ClazzAssignment mClazzAssignment;

  @Bindable
  protected boolean mLoading;

  @Bindable
  protected boolean mFieldsEnabled;

  @Bindable
  protected EditButtonMode mEditButtonMode;

  @Bindable
  protected ClazzAssignmentDetailFragmentEventHandler mFragmentEventHandler;

  protected FragmentClazzAssignmentDetailBinding(Object _bindingComponent, View _root,
      int _localFieldCount, CoordinatorLayout coordinationLayout,
      AppbarMaterialTabsScrollableBinding fragmentClazzAssignmentDetailTabs,
      ViewPager2 fragmentClazzAssignmentDetailViewpager) {
    super(_bindingComponent, _root, _localFieldCount);
    this.coordinationLayout = coordinationLayout;
    this.fragmentClazzAssignmentDetailTabs = fragmentClazzAssignmentDetailTabs;
    this.fragmentClazzAssignmentDetailViewpager = fragmentClazzAssignmentDetailViewpager;
  }

  public abstract void setClazzAssignment(@Nullable ClazzAssignment clazzAssignment);

  @Nullable
  public ClazzAssignment getClazzAssignment() {
    return mClazzAssignment;
  }

  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 setEditButtonMode(@Nullable EditButtonMode editButtonMode);

  @Nullable
  public EditButtonMode getEditButtonMode() {
    return mEditButtonMode;
  }

  public abstract void setFragmentEventHandler(
      @Nullable ClazzAssignmentDetailFragmentEventHandler fragmentEventHandler);

  @Nullable
  public ClazzAssignmentDetailFragmentEventHandler getFragmentEventHandler() {
    return mFragmentEventHandler;
  }

  @NonNull
  public static FragmentClazzAssignmentDetailBinding 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_assignment_detail, root, attachToRoot, component)
   */
  @NonNull
  @Deprecated
  public static FragmentClazzAssignmentDetailBinding inflate(@NonNull LayoutInflater inflater,
      @Nullable ViewGroup root, boolean attachToRoot, @Nullable Object component) {
    return ViewDataBinding.<FragmentClazzAssignmentDetailBinding>inflateInternal(inflater, R.layout.fragment_clazz_assignment_detail, root, attachToRoot, component);
  }

  @NonNull
  public static FragmentClazzAssignmentDetailBinding 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_assignment_detail, null, false, component)
   */
  @NonNull
  @Deprecated
  public static FragmentClazzAssignmentDetailBinding inflate(@NonNull LayoutInflater inflater,
      @Nullable Object component) {
    return ViewDataBinding.<FragmentClazzAssignmentDetailBinding>inflateInternal(inflater, R.layout.fragment_clazz_assignment_detail, null, false, component);
  }

  public static FragmentClazzAssignmentDetailBinding 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 FragmentClazzAssignmentDetailBinding bind(@NonNull View view,
      @Nullable Object component) {
    return (FragmentClazzAssignmentDetailBinding)bind(component, view, R.layout.fragment_clazz_assignment_detail);
  }
}
