@Override public boolean hasCreatorAnnotation(Annotated annotated) { if (super.hasCreatorAnnotation(annotated)) { return true; } else if (!(annotated instanceof AnnotatedConstructor)) { return false; } else { AnnotatedConstructor annotatedConstructor = (AnnotatedConstructor) annotated; ConstructorProperties properties = getConstructorPropertiesAnnotation(annotatedConstructor); if (properties == null) { return false; } else { addJacksonAnnotationsToContructorParameters(annotatedConstructor); return true; } } }
public void setDefaultCreator(AnnotatedWithParams paramAnnotatedWithParams) { if ((paramAnnotatedWithParams instanceof AnnotatedConstructor)) { setDefaultConstructor((AnnotatedConstructor)paramAnnotatedWithParams); return; } this._defaultConstructor = ((AnnotatedWithParams)_fixAccess(paramAnnotatedWithParams)); }
@Override public boolean hasCreatorAnnotation(final Annotated a) { if (!(a instanceof AnnotatedConstructor)) { return false; } final AnnotatedConstructor ctor = (AnnotatedConstructor) a; if (ctor.getParameterCount() == 0) { return true; } final AutoMatter.Field field = ctor.getParameter(0).getAnnotation(AutoMatter.Field.class); return field != null; }
private void addJacksonAnnotationsToContructorParameters(AnnotatedConstructor annotatedConstructor) { ConstructorProperties properties = getConstructorPropertiesAnnotation(annotatedConstructor); for (int i = 0; i < annotatedConstructor.getParameterCount(); i++) { String name = properties.value()[i]; AnnotatedParameter parameter = annotatedConstructor.getParameter(i); Field field = null; try { field = annotatedConstructor.getDeclaringClass().getDeclaredField(name); } catch (NoSuchFieldException ignored) { } addJacksonAnnotationsToConstructorParameter(field, parameter, name); } }
public boolean isIgnorableConstructor(AnnotatedConstructor c) { return _cfgCheckTransient && c.hasAnnotation(Transient.class); }
protected boolean _handleSingleArgumentConstructor(DeserializationContext paramDeserializationContext, BeanDescription paramBeanDescription, VisibilityChecker<?> paramVisibilityChecker, AnnotationIntrospector paramAnnotationIntrospector, CreatorCollector paramCreatorCollector, AnnotatedConstructor paramAnnotatedConstructor, boolean paramBoolean1, boolean paramBoolean2, String paramString) { AnnotatedParameter localAnnotatedParameter = paramAnnotatedConstructor.getParameter(0); if (paramString == null) { PropertyName localPropertyName1; if (localAnnotatedParameter == null) localPropertyName1 = null; else localPropertyName1 = paramAnnotationIntrospector.findNameForDeserialization(localAnnotatedParameter); PropertyName localPropertyName2 = localPropertyName1; if (localPropertyName1 == null) paramString = null; else paramString = localPropertyName2.getSimpleName(); } Object localObject = paramAnnotationIntrospector.findInjectableValueId(localAnnotatedParameter); if ((localObject != null) || ((paramString != null) && (paramString.length() > 0))) { CreatorProperty[] arrayOfCreatorProperty = new CreatorProperty[1]; arrayOfCreatorProperty[0] = constructCreatorProperty(paramDeserializationContext, paramBeanDescription, paramString, 0, localAnnotatedParameter, localObject); paramCreatorCollector.addPropertyCreator(paramAnnotatedConstructor, arrayOfCreatorProperty); return true; } Class localClass = paramAnnotatedConstructor.getRawParameterType(0); if (localClass == String.class) { if ((paramBoolean1) || (paramBoolean2)) paramCreatorCollector.addStringCreator(paramAnnotatedConstructor); return true; } if ((localClass == Integer.TYPE) || (localClass == Integer.class)) { if ((paramBoolean1) || (paramBoolean2)) paramCreatorCollector.addIntCreator(paramAnnotatedConstructor); return true; } if ((localClass == Long.TYPE) || (localClass == Long.class)) { if ((paramBoolean1) || (paramBoolean2)) paramCreatorCollector.addLongCreator(paramAnnotatedConstructor); return true; } if ((localClass == Double.TYPE) || (localClass == Double.class)) { if ((paramBoolean1) || (paramBoolean2)) paramCreatorCollector.addDoubleCreator(paramAnnotatedConstructor); return true; } if (paramBoolean1) { paramCreatorCollector.addDelegatingCreator(paramAnnotatedConstructor, null); return true; } return false; }
@Deprecated public void setDefaultConstructor(AnnotatedConstructor paramAnnotatedConstructor) { this._defaultConstructor = ((AnnotatedWithParams)_fixAccess(paramAnnotatedConstructor)); }
private ConstructorProperties getConstructorPropertiesAnnotation(AnnotatedConstructor annotatedConstructor) { Constructor<?> constructor = annotatedConstructor.getAnnotated(); return constructor.getAnnotation(ConstructorProperties.class); }
public abstract AnnotatedConstructor findDefaultConstructor();
public abstract List<AnnotatedConstructor> getConstructors();