/
BeanResolverOnlyBeanProvider.java
37 lines (32 loc) · 1.36 KB
/
BeanResolverOnlyBeanProvider.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
* Hibernate Search, full-text search for your domain model
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.search.engine.environment.bean.impl;
import org.hibernate.search.engine.environment.bean.BeanHolder;
import org.hibernate.search.engine.environment.bean.BeanProvider;
import org.hibernate.search.engine.environment.bean.spi.BeanResolver;
import org.hibernate.search.util.impl.common.Contracts;
/**
* A BeanProvider that ignores the explicitly configured beans.
* Used in the ConfiguredBeanProvider constructor to retrieve bean configurers.
*/
final class BeanResolverOnlyBeanProvider implements BeanProvider {
private final BeanResolver beanResolver;
BeanResolverOnlyBeanProvider(BeanResolver beanResolver) {
this.beanResolver = beanResolver;
}
@Override
public <T> BeanHolder<T> getBean(Class<T> typeReference) {
Contracts.assertNotNull( typeReference, "typeReference" );
return beanResolver.resolve( typeReference );
}
@Override
public <T> BeanHolder<T> getBean(Class<T> typeReference, String nameReference) {
Contracts.assertNotNull( typeReference, "typeReference" );
Contracts.assertNotNullNorEmpty( nameReference, "nameReference" );
return beanResolver.resolve( typeReference, nameReference );
}
}