package cn.com.poc.law.extractEntityStrategy;

import cn.com.poc.law.entity.motorVehicleDrivingComplaint.MotorVehicleDrivingComplaintEntity;

import java.lang.reflect.Type;

/**
 * @Author：Roger Wu
 * @name：LawyerExtractType
 * @Date：2025-08-08 11:09
 */
public class LawyerExtractTypeConstants {

    public enum LawyerExtractTypeEnum {


        motorVehicleDrivingComplaint("motorVehicleDrivingComplaint", MotorVehicleDrivingComplaintEntity.class);


        String lawyerExtractTypeCode;

        Type T;

        LawyerExtractTypeEnum(String lawyerExtractTypeCode, Type T) {
            this.lawyerExtractTypeCode = lawyerExtractTypeCode;
            this.T = T;


        }

        public static LawyerExtractTypeEnum get(String lawyerExtractTypeCode) {
            LawyerExtractTypeConstants.LawyerExtractTypeEnum[] values = values();
            for (LawyerExtractTypeConstants.LawyerExtractTypeEnum value : values) {
                if (value.name().equals(lawyerExtractTypeCode)) {
                    return value;
                }
            }
            return null;
        }

        public static Type getClass(String lawyerExtractTypeCode) {
            LawyerExtractTypeConstants.LawyerExtractTypeEnum[] values = values();
            for (LawyerExtractTypeConstants.LawyerExtractTypeEnum value : values) {
                if (value.name().equals(lawyerExtractTypeCode)) {
                    return value.T;
                }
            }
            return null;
        }

    }
}