package org.theonefx.wcframework.ioc; import org.theonefx.wcframework.ioc.val.ConstructorArgumentValues; import org.theonefx.wcframework.ioc.val.MutablePropertyValues; public interface BeanDefinition extends BeanMetadataElement { public static final String SCOPE_SINGLETON = "singleton"; public static final String SCOPE_PROTOTYPE = "prototype"; String getBeanClassName(); void setBeanClassName(String beanClassName); String getFactoryBeanName(); void setFactoryBeanName(String factoryBeanName); String getFactoryMethodName(); void setFactoryMethodName(String factoryMethodName); String getScope(); void setScope(String scope); boolean isLazyInit(); void setLazyInit(boolean lazyInit); boolean isSingleton(); boolean isPrototype(); String[] getDependsOn(); void setDependsOn(String[] dependsOn); ConstructorArgumentValues getConstructorArgumentValues(); MutablePropertyValues getPropertyValues(); void setInitMethodName(String initMethodName); void setConstructorArgumentValues(ConstructorArgumentValues constructorArgumentValues); }