|
|
|
@ -32,6 +32,7 @@ import org.springframework.aot.generate.ValueCodeGenerator.Delegate; |
|
|
|
import org.springframework.aot.generate.ValueCodeGeneratorDelegates; |
|
|
|
import org.springframework.aot.generate.ValueCodeGeneratorDelegates; |
|
|
|
import org.springframework.aot.generate.ValueCodeGeneratorDelegates.CollectionDelegate; |
|
|
|
import org.springframework.aot.generate.ValueCodeGeneratorDelegates.CollectionDelegate; |
|
|
|
import org.springframework.aot.generate.ValueCodeGeneratorDelegates.MapDelegate; |
|
|
|
import org.springframework.aot.generate.ValueCodeGeneratorDelegates.MapDelegate; |
|
|
|
|
|
|
|
import org.springframework.beans.factory.config.AutowiredPropertyMarker; |
|
|
|
import org.springframework.beans.factory.config.BeanReference; |
|
|
|
import org.springframework.beans.factory.config.BeanReference; |
|
|
|
import org.springframework.beans.factory.config.RuntimeBeanReference; |
|
|
|
import org.springframework.beans.factory.config.RuntimeBeanReference; |
|
|
|
import org.springframework.beans.factory.config.TypedStringValue; |
|
|
|
import org.springframework.beans.factory.config.TypedStringValue; |
|
|
|
@ -59,6 +60,7 @@ public abstract class BeanDefinitionPropertyValueCodeGeneratorDelegates { |
|
|
|
* <li>{@link LinkedHashMap}</li> |
|
|
|
* <li>{@link LinkedHashMap}</li> |
|
|
|
* <li>{@link BeanReference}</li> |
|
|
|
* <li>{@link BeanReference}</li> |
|
|
|
* <li>{@link TypedStringValue}</li> |
|
|
|
* <li>{@link TypedStringValue}</li> |
|
|
|
|
|
|
|
* <li>{@link AutowiredPropertyMarker}</li> |
|
|
|
* </ul> |
|
|
|
* </ul> |
|
|
|
* When combined with {@linkplain ValueCodeGeneratorDelegates#INSTANCES the |
|
|
|
* When combined with {@linkplain ValueCodeGeneratorDelegates#INSTANCES the |
|
|
|
* delegates for common value types}, this should be added first as they have |
|
|
|
* delegates for common value types}, this should be added first as they have |
|
|
|
@ -70,7 +72,8 @@ public abstract class BeanDefinitionPropertyValueCodeGeneratorDelegates { |
|
|
|
new ManagedMapDelegate(), |
|
|
|
new ManagedMapDelegate(), |
|
|
|
new LinkedHashMapDelegate(), |
|
|
|
new LinkedHashMapDelegate(), |
|
|
|
new BeanReferenceDelegate(), |
|
|
|
new BeanReferenceDelegate(), |
|
|
|
new TypedStringValueDelegate() |
|
|
|
new TypedStringValueDelegate(), |
|
|
|
|
|
|
|
new AutowiredPropertyMarkerDelegate() |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -234,4 +237,19 @@ public abstract class BeanDefinitionPropertyValueCodeGeneratorDelegates { |
|
|
|
return valueCodeGenerator.generateCode(value); |
|
|
|
return valueCodeGenerator.generateCode(value); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* {@link Delegate} for {@link AutowiredPropertyMarker} types. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
private static class AutowiredPropertyMarkerDelegate implements Delegate { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public @Nullable CodeBlock generateCode(ValueCodeGenerator valueCodeGenerator, Object value) { |
|
|
|
|
|
|
|
if (value instanceof AutowiredPropertyMarker) { |
|
|
|
|
|
|
|
return CodeBlock.of("$T.INSTANCE", AutowiredPropertyMarker.class); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return null; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|