@@ -163,6 +163,16 @@ public final void registerBeanDefinitions(AnnotationMetadata metadata, BeanDefin
163
163
}));
164
164
}
165
165
166
+ /**
167
+ * This method is called before any bean definition registrations are made.
168
+ * Subclasses must implement it to register the HTTP Services for which bean
169
+ * definitions for which proxies need to be created.
170
+ * @param registry to perform HTTP Service registrations with
171
+ * @param importingClassMetadata annotation metadata of the importing class
172
+ */
173
+ protected abstract void registerHttpServices (
174
+ GroupRegistry registry , AnnotationMetadata importingClassMetadata );
175
+
166
176
private RootBeanDefinition createOrGetRegistry (BeanDefinitionRegistry beanRegistry ) {
167
177
if (!beanRegistry .containsBeanDefinition (HTTP_SERVICE_PROXY_REGISTRY_BEAN_NAME )) {
168
178
RootBeanDefinition proxyRegistryBeanDef = new RootBeanDefinition ();
@@ -177,21 +187,25 @@ private RootBeanDefinition createOrGetRegistry(BeanDefinitionRegistry beanRegist
177
187
}
178
188
}
179
189
180
- /**
181
- * This method is called before any bean definition registrations are made.
182
- * Subclasses must implement it to register the HTTP Services for which bean
183
- * definitions for which proxies need to be created.
184
- * @param registry to perform HTTP Service registrations with
185
- * @param importingClassMetadata annotation metadata of the importing class
186
- */
187
- protected abstract void registerHttpServices (
188
- GroupRegistry registry , AnnotationMetadata importingClassMetadata );
190
+ private void mergeGroups (RootBeanDefinition proxyRegistryBeanDef ) {
191
+ ConstructorArgumentValues args = proxyRegistryBeanDef .getConstructorArgumentValues ();
192
+ ConstructorArgumentValues .ValueHolder valueHolder = args .getArgumentValue (0 , GroupsMetadata .class );
193
+ Assert .state (valueHolder != null , "Expected GroupsMetadata constructor argument at index 0" );
194
+ GroupsMetadata target = (GroupsMetadata ) valueHolder .getValue ();
195
+ Assert .state (target != null , "No constructor argument value" );
196
+ target .mergeWith (this .groupsMetadata );
197
+ }
189
198
199
+ private Object getProxyInstance (String groupName , String httpServiceType ) {
200
+ Assert .state (this .beanFactory != null , "BeanFactory has not been set" );
201
+ HttpServiceProxyRegistry registry = this .beanFactory .getBean (HTTP_SERVICE_PROXY_REGISTRY_BEAN_NAME , HttpServiceProxyRegistry .class );
202
+ return registry .getClient (groupName , ClassUtils .resolveClassName (httpServiceType , this .beanClassLoader ));
203
+ }
190
204
191
205
/**
192
- * Exposes the scan for HTTP Service types, looking for
206
+ * Find HTTP Service types under the given base package , looking for
193
207
* interfaces with type or method {@link HttpExchange} annotations.
194
- * @param basePackage the packages to look under
208
+ * @param basePackage the names of packages to look under
195
209
* @return match bean definitions
196
210
*/
197
211
protected Stream <BeanDefinition > findHttpServices (String basePackage ) {
@@ -205,21 +219,6 @@ protected Stream<BeanDefinition> findHttpServices(String basePackage) {
205
219
return this .scanner .findCandidateComponents (basePackage ).stream ();
206
220
}
207
221
208
- private void mergeGroups (RootBeanDefinition proxyRegistryBeanDef ) {
209
- ConstructorArgumentValues args = proxyRegistryBeanDef .getConstructorArgumentValues ();
210
- ConstructorArgumentValues .ValueHolder valueHolder = args .getArgumentValue (0 , GroupsMetadata .class );
211
- Assert .state (valueHolder != null , "Expected GroupsMetadata constructor argument at index 0" );
212
- GroupsMetadata target = (GroupsMetadata ) valueHolder .getValue ();
213
- Assert .state (target != null , "No constructor argument value" );
214
- target .mergeWith (this .groupsMetadata );
215
- }
216
-
217
- private Object getProxyInstance (String groupName , String httpServiceType ) {
218
- Assert .state (this .beanFactory != null , "BeanFactory has not been set" );
219
- HttpServiceProxyRegistry registry = this .beanFactory .getBean (HTTP_SERVICE_PROXY_REGISTRY_BEAN_NAME , HttpServiceProxyRegistry .class );
220
- return registry .getClient (groupName , ClassUtils .resolveClassName (httpServiceType , this .beanClassLoader ));
221
- }
222
-
223
222
224
223
/**
225
224
* Registry API to allow subclasses to register HTTP Services.
0 commit comments