
com.github.nill14.utils.init.api.IPropertyResolver Maven / Gradle / Ivy
The newest version!
package com.github.nill14.utils.init.api;
import java.io.Serializable;
import java.util.List;
import javax.annotation.Nullable;
import com.github.nill14.utils.init.impl.CallerContext;
import com.github.nill14.utils.init.impl.EmptyPropertyResolver;
public interface IPropertyResolver extends Serializable {
/**
*
* @param type The property type descriptor.
* @param context
* @return The resolved property provider or nullProvider if property could not be resolved.
*/
@Nullable Object resolve(IParameterType type, CallerContext context);
static IPropertyResolver empty() {
return EmptyPropertyResolver.empty();
}
// static Provider nullProvider() {
// return AbstractPropertyResolver.nullProvider();
// }
IBeanInjector toBeanInjector(CallerContext context);
void initializeBean(IBeanDescriptor beanDescriptor, Object instance, CallerContext context);
void destroyBean(IBeanDescriptor beanDescriptor, Object instance);
void insertInitializer(IPojoInitializer initializer);
void appendInitializer(IPojoInitializer extraInitializer);
List getInitializers();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy