mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-30 21:08:30 +08:00
Register APT extensions by service loader
This commit is contained in:
parent
86c98d691d
commit
ca45aa6bef
@ -213,6 +213,12 @@ public class DefaultConfiguration implements Configuration {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
ServiceLoader<Extension> loader = ServiceLoader.load(Extension.class, Extension.class.getClassLoader());
|
||||
|
||||
for (Extension extension : loader) {
|
||||
extension.addSupport(module);
|
||||
}
|
||||
|
||||
defaultSerializerConfig = new SimpleSerializerConfig(entityAccessors, listAccessors,
|
||||
mapAccessors, createDefaultVariable, "");
|
||||
|
||||
|
||||
33
querydsl-apt/src/main/java/com/querydsl/apt/Extension.java
Normal file
33
querydsl-apt/src/main/java/com/querydsl/apt/Extension.java
Normal file
@ -0,0 +1,33 @@
|
||||
/*
|
||||
* Copyright 2016, The Querydsl Team (http://www.querydsl.com/team)
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.querydsl.apt;
|
||||
|
||||
import com.querydsl.codegen.AbstractModule;
|
||||
|
||||
/**
|
||||
* {@code Extension} allows for custom code generation extensions to be registered as service provider
|
||||
*
|
||||
* @author Jan-Willem Gmelig Meyling
|
||||
*
|
||||
*/
|
||||
public interface Extension {
|
||||
|
||||
/**
|
||||
* Register custom types to the given codegen module
|
||||
*
|
||||
* @param module module to be customized
|
||||
*/
|
||||
void addSupport(AbstractModule module);
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user