Commit d64ad7fe authored by Brian Long's avatar Brian Long
Browse files

split non-public API to protected API interface

parent 44ec6336
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
/*
 * This program is free software: you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or (at your
 * option) any later version.
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 * 
 * You should have received a copy of the GNU General Public License along
 * with this program.  If not, see <https://www.gnu.org/licenses/>.
 */
package com.inteligr8.alfresco.activiti;

import com.inteligr8.alfresco.activiti.api.ShareApi;
import com.inteligr8.alfresco.activiti.api.TemplatesApi;

/**
 * This interface consolidates the JAX-RS APIs available in the Activiti & APS
 * public ReST APIs, plus some useful non-public APIs available in APS.
 * 
 * @author brian@inteligr8.com
 */
public interface ApsProtectedRestApi extends ApsPublicRestApi {
	
	default ShareApi getShareApi() {
		return this.getApi(ShareApi.class);
	}

    default TemplatesApi getTemplatesApi() {
        return this.getApi(TemplatesApi.class);
    }

}
+12 −18
Original line number Diff line number Diff line
@@ -17,29 +17,31 @@ package com.inteligr8.alfresco.activiti;
import com.inteligr8.activiti.ActivitiPublicRestApi;
import com.inteligr8.alfresco.activiti.api.AdminApi;
import com.inteligr8.alfresco.activiti.api.AppDefinitionsApi;
import com.inteligr8.alfresco.activiti.api.AppDeploymentsApi;
import com.inteligr8.alfresco.activiti.api.AppVersionApi;
import com.inteligr8.alfresco.activiti.api.HistoricApi;
import com.inteligr8.alfresco.activiti.api.ModelsApi;
import com.inteligr8.alfresco.activiti.api.ProcessDefinitionsApi;
import com.inteligr8.alfresco.activiti.api.ProcessInstancesApi;
import com.inteligr8.alfresco.activiti.api.ProfileApi;
import com.inteligr8.alfresco.activiti.api.ShareApi;
import com.inteligr8.alfresco.activiti.api.TasksApi;
import com.inteligr8.alfresco.activiti.api.TemplatesApi;

/**
 * This interface consolidates the JAX-RS APIs available in the APS Public
 * ReST API.
 * This interface consolidates the JAX-RS APIs available in the Activiti & APS
 * public ReST APIs.
 * 
 * @author brian@inteligr8.com
 */
public interface ApsPublicRestApi extends ActivitiPublicRestApi {
	
	<T> T getApi(Class<T> apiClass);
	
	default AdminApi getAdminApi() {
		return this.getApi(AdminApi.class);
	}
    
    default AppDeploymentsApi getAppDeploymentsApi() {
        return this.getApi(AppDeploymentsApi.class);
    }
	
	default AppDefinitionsApi getAppDefinitionsApi() {
		return this.getApi(AppDefinitionsApi.class);
	}
@@ -56,6 +58,10 @@ public interface ApsPublicRestApi extends ActivitiPublicRestApi {
		return this.getApi(ModelsApi.class);
	}
    
    default ProcessDefinitionsApi getProcessDefinitionsApi() {
        return this.getApi(ProcessDefinitionsApi.class);
    }
	
	default ProcessInstancesApi getProcessInstancesApi() {
		return this.getApi(ProcessInstancesApi.class);
	}
@@ -68,16 +74,4 @@ public interface ApsPublicRestApi extends ActivitiPublicRestApi {
		return this.getApi(TasksApi.class);
	}

	
	/**
	 * The following are not part of the official open source or enterprise APIs
	 */
	default ShareApi getShareApi() {
		return this.getApi(ShareApi.class);
	}

    default TemplatesApi getTemplatesApi() {
        return this.getApi(TemplatesApi.class);
    }

}