// 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 android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.AppCompatImageView;
import androidx.databinding.Bindable;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ViewDataBinding;
import com.toughra.ustadmobile.R;
import com.ustadmobile.core.model.BitmaskMessageId;
import com.ustadmobile.core.util.OneToManyJoinEditListener;
import com.ustadmobile.lib.db.entities.ScopedGrantAndName;
import java.lang.Deprecated;
import java.lang.Object;
import java.util.List;

public abstract class ItemScopedGrantEditBinding extends ViewDataBinding {
  @NonNull
  public final TextView itemScheduleLine1Text;

  @NonNull
  public final TextView itemScheduleLine2Text;

  @NonNull
  public final AppCompatImageView itemScheduleSecondaryMenuImageview;

  @Bindable
  protected ScopedGrantAndName mScopedGrant;

  @Bindable
  protected List<BitmaskMessageId> mScopedGrantFlagMessageIds;

  @Bindable
  protected OneToManyJoinEditListener<ScopedGrantAndName> mScopedGrantListener;

  protected ItemScopedGrantEditBinding(Object _bindingComponent, View _root, int _localFieldCount,
      TextView itemScheduleLine1Text, TextView itemScheduleLine2Text,
      AppCompatImageView itemScheduleSecondaryMenuImageview) {
    super(_bindingComponent, _root, _localFieldCount);
    this.itemScheduleLine1Text = itemScheduleLine1Text;
    this.itemScheduleLine2Text = itemScheduleLine2Text;
    this.itemScheduleSecondaryMenuImageview = itemScheduleSecondaryMenuImageview;
  }

  public abstract void setScopedGrant(@Nullable ScopedGrantAndName scopedGrant);

  @Nullable
  public ScopedGrantAndName getScopedGrant() {
    return mScopedGrant;
  }

  public abstract void setScopedGrantFlagMessageIds(
      @Nullable List<BitmaskMessageId> scopedGrantFlagMessageIds);

  @Nullable
  public List<BitmaskMessageId> getScopedGrantFlagMessageIds() {
    return mScopedGrantFlagMessageIds;
  }

  public abstract void setScopedGrantListener(
      @Nullable OneToManyJoinEditListener<ScopedGrantAndName> scopedGrantListener);

  @Nullable
  public OneToManyJoinEditListener<ScopedGrantAndName> getScopedGrantListener() {
    return mScopedGrantListener;
  }

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

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

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