class UserEntityTypeJSONDeserializer extends JsonDeserializer<UserEntityType> {
    @Override
    public UserEntityType deserialize(JsonParser jsonParser,
                                      DeserializationContext ctxt) throws IOException, JacksonException {<FILL_FUNCTION_BODY>}
}

        if (jsonParser.hasToken(JsonToken.VALUE_STRING)) {
            String str = jsonParser.getText().trim();
            if (str.length() != 0) {
                return UserEntityType.of(str, null);
            }
        }

        if (jsonParser.hasToken(JsonToken.START_OBJECT)) {
            Map<String, String> map = ctxt.readValue(jsonParser, Map.class);
            if (map != null) {
                return UserEntityType.of(map.get("id"), map.get("name"));
            }
        }
        return null;
    
<methods>public void <init>() ,public abstract org.jetlinks.community.auth.enums.UserEntityType deserialize(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext) throws java.io.IOException, com.fasterxml.jackson.core.JsonProcessingException,public org.jetlinks.community.auth.enums.UserEntityType deserialize(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext, org.jetlinks.community.auth.enums.UserEntityType) throws java.io.IOException,public java.lang.Object deserializeWithType(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer) throws java.io.IOException,public java.lang.Object deserializeWithType(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer, org.jetlinks.community.auth.enums.UserEntityType) throws java.io.IOException,public com.fasterxml.jackson.databind.deser.SettableBeanProperty findBackReference(java.lang.String) ,public JsonDeserializer<?> getDelegatee() ,public com.fasterxml.jackson.databind.util.AccessPattern getEmptyAccessPattern() ,public java.lang.Object getEmptyValue() ,public java.lang.Object getEmptyValue(com.fasterxml.jackson.databind.DeserializationContext) throws com.fasterxml.jackson.databind.JsonMappingException,public Collection<java.lang.Object> getKnownPropertyNames() ,public com.fasterxml.jackson.databind.util.AccessPattern getNullAccessPattern() ,public org.jetlinks.community.auth.enums.UserEntityType getNullValue() ,public org.jetlinks.community.auth.enums.UserEntityType getNullValue(com.fasterxml.jackson.databind.DeserializationContext) throws com.fasterxml.jackson.databind.JsonMappingException,public com.fasterxml.jackson.databind.deser.impl.ObjectIdReader getObjectIdReader() ,public Class<?> handledType() ,public boolean isCachable() ,public JsonDeserializer<?> replaceDelegatee(JsonDeserializer<?>) ,public java.lang.Boolean supportsUpdate(com.fasterxml.jackson.databind.DeserializationConfig) ,public JsonDeserializer<org.jetlinks.community.auth.enums.UserEntityType> unwrappingDeserializer(com.fasterxml.jackson.databind.util.NameTransformer) <variables>