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.target>8</maven.compiler.target>
<maven.compiler.debuglevel>lines,vars,source</maven.compiler.debuglevel> <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> <aps.app.tag>aps1</aps.app.tag>
<jersey.version>2.35</jersey.version> <jersey.version>2.35</jersey.version>

View File

@ -16,18 +16,34 @@ import com.inteligr8.alfresco.activiti.api.TasksApi;
*/ */
public interface ApsPublicRestApi { 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 { 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 { public interface ApsPublicRestJerseyApi extends ApsPublicRestApi {
AppDefinitionsJerseyApi getAppDefinitionsJerseyApi(); default AppDefinitionsJerseyApi getAppDefinitionsJerseyApi() {
return this.getApi(AppDefinitionsJerseyApi.class);
}
} }