/**
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
*
* Do not edit this file as changes may cause incorrect behavior and will be lost
* once the code is regenerated.
*
* @generated by codegen project: GeneratePropsJavaDelegate.js
*/

package com.facebook.react.viewmanagers;

import android.view.View;
import androidx.annotation.Nullable;
import com.facebook.react.bridge.ColorPropConverter;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.uimanager.BaseViewManager;
import com.facebook.react.uimanager.BaseViewManagerDelegate;
import com.facebook.react.uimanager.LayoutShadowNode;

public class EnrichedTextViewManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & EnrichedTextViewManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
  public EnrichedTextViewManagerDelegate(U viewManager) {
    super(viewManager);
  }
  @Override
  public void setProperty(T view, String propName, @Nullable Object value) {
    switch (propName) {
      case "text":
        mViewManager.setText(view, value == null ? null : (String) value);
        break;
      case "htmlStyle":
        mViewManager.setHtmlStyle(view, (ReadableMap) value);
        break;
      case "useHtmlNormalizer":
        mViewManager.setUseHtmlNormalizer(view, value == null ? false : (boolean) value);
        break;
      case "allowFontScaling":
        mViewManager.setAllowFontScaling(view, value == null ? false : (boolean) value);
        break;
      case "ellipsizeMode":
        mViewManager.setEllipsizeMode(view, value == null ? null : (String) value);
        break;
      case "numberOfLines":
        mViewManager.setNumberOfLines(view, value == null ? 0 : ((Double) value).intValue());
        break;
      case "selectable":
        mViewManager.setSelectable(view, value == null ? false : (boolean) value);
        break;
      case "selectionColor":
        mViewManager.setSelectionColor(view, ColorPropConverter.getColor(value, view.getContext()));
        break;
      case "color":
        mViewManager.setColor(view, ColorPropConverter.getColor(value, view.getContext()));
        break;
      case "fontSize":
        mViewManager.setFontSize(view, value == null ? 0f : ((Double) value).floatValue());
        break;
      case "fontFamily":
        mViewManager.setFontFamily(view, value == null ? null : (String) value);
        break;
      case "fontWeight":
        mViewManager.setFontWeight(view, value == null ? null : (String) value);
        break;
      case "fontStyle":
        mViewManager.setFontStyle(view, value == null ? null : (String) value);
        break;
      default:
        super.setProperty(view, propName, value);
    }
  }
}
