using interface default impl

This commit is contained in:
Brian Long 2022-05-03 13:07:00 -04:00
parent a14564c87f
commit ed9fe6dfc5
4 changed files with 29 additions and 11 deletions

View File

@ -13,8 +13,6 @@
<maven.compiler.target>8</maven.compiler.target>
<maven.compiler.debuglevel>lines,vars,source</maven.compiler.debuglevel>
<!-- If you want to build for your specific version, point to your own
installation -->
<aps.app.tag>aps1</aps.app.tag>
<jersey.version>2.35</jersey.version>

View File

@ -16,18 +16,34 @@ import com.inteligr8.alfresco.activiti.api.TasksApi;
*/
public interface ApsPublicRestApi {
AdminApi getAdminApi();
<T> T getApi(Class<T> apiClass);
AppDefinitionsApi getAppDefinitionsApi();
default AdminApi getAdminApi() {
return this.getApi(AdminApi.class);
}
AppVersionApi getAppVersionApi();
default AppDefinitionsApi getAppDefinitionsApi() {
return this.getApi(AppDefinitionsApi.class);
}
ModelsApi getModelsApi();
default AppVersionApi getAppVersionApi() {
return this.getApi(AppVersionApi.class);
}
ProcessInstancesApi getProcessInstancesApi();
default ModelsApi getModelsApi() {
return this.getApi(ModelsApi.class);
}
ProfileApi getProfileApi();
default ProcessInstancesApi getProcessInstancesApi() {
return this.getApi(ProcessInstancesApi.class);
}
TasksApi getTasksApi();
default ProfileApi getProfileApi() {
return this.getApi(ProfileApi.class);
}
default TasksApi getTasksApi() {
return this.getApi(TasksApi.class);
}
}

View File

@ -11,6 +11,8 @@ import com.inteligr8.alfresco.activiti.api.AppDefinitionsCxfApi;
*/
public interface ApsPublicRestCxfApi extends ApsPublicRestApi {
AppDefinitionsCxfApi getAppDefinitionsCxfApi();
default AppDefinitionsCxfApi getAppDefinitionsCxfApi() {
return this.getApi(AppDefinitionsCxfApi.class);
}
}

View File

@ -11,6 +11,8 @@ import com.inteligr8.alfresco.activiti.api.AppDefinitionsJerseyApi;
*/
public interface ApsPublicRestJerseyApi extends ApsPublicRestApi {
AppDefinitionsJerseyApi getAppDefinitionsJerseyApi();
default AppDefinitionsJerseyApi getAppDefinitionsJerseyApi() {
return this.getApi(AppDefinitionsJerseyApi.class);
}
}