package ch.alv.components.web.endpoint; import ch.alv.components.core.beans.ModelItem; import ch.alv.components.web.dto.Dto; import org.springframework.http.HttpMethod; import java.util.ArrayList; import java.util.List; /** * Default implementation of the {@link ch.alv.components.web.endpoint.Endpoint} interface. * * @since 1.0.0 */ public class DefaultEndpoint implements Endpoint { private String moduleName; private String storeName; private Class<? extends Dto> dtoClass; private Class<? extends ModelItem> entityClass; private boolean allowGETMethod = true; private boolean allowPOSTMethod = true; private boolean allowPUTMethod = true; private boolean allowDELETEMethod = true; private String rolesGET = ""; private String rolesPOST = ""; private String rolesPUT = ""; private String rolesDELETE = ""; private String defaultSearchName = ""; public void setModuleName(String moduleName) { this.moduleName = moduleName; } @Override public String getModuleName() { return moduleName; } public void setStoreName(String storeName) { this.storeName = storeName; } @Override public String getStoreName() { return storeName; } public void setDtoClass(Class<? extends Dto> dtoClass) { this.dtoClass = dtoClass; } @Override public Class<? extends Dto> getDtoClass() { return dtoClass; } public void setEntityClass(Class<? extends ModelItem> entityClass) { this.entityClass = entityClass; } @Override public Class<? extends ModelItem> getEntityClass() { return entityClass; } @Override public List<HttpMethod> getAllowedMethods() { List<HttpMethod> allowedMethods = new ArrayList<>(); if (allowGETMethod) { allowedMethods.add(HttpMethod.GET); } if (allowPOSTMethod) { allowedMethods.add(HttpMethod.POST); } if (allowPUTMethod) { allowedMethods.add(HttpMethod.PUT); } if (allowDELETEMethod) { allowedMethods.add(HttpMethod.DELETE); } return allowedMethods; } public void setRolesGET(String rolesGET) { this.rolesGET = rolesGET; } @Override public String getRolesGET() { return rolesGET; } public void setRolesPOST(String rolesPOST) { this.rolesPOST = rolesPOST; } @Override public String getRolesPOST() { return rolesPOST; } public void setRolesPUT(String rolesPUT) { this.rolesPUT = rolesPUT; } @Override public String getRolesPUT() { return rolesPUT; } public void setRolesDELETE(String rolesDELETE) { this.rolesDELETE = rolesDELETE; } @Override public String getRolesDELETE() { return rolesDELETE; } public void setDefaultSearchName(String defaultSearchName) { this.defaultSearchName = defaultSearchName; } @Override public String getDefaultSearchName() { return defaultSearchName; } public void setAllowGETMethod(boolean allowGETMethod) { this.allowGETMethod = allowGETMethod; } public void setAllowPOSTMethod(boolean allowPOSTMethod) { this.allowPOSTMethod = allowPOSTMethod; } public void setAllowPUTMethod(boolean allowPUTMethod) { this.allowPUTMethod = allowPUTMethod; } public void setAllowDELETEMethod(boolean allowDELETEMethod) { this.allowDELETEMethod = allowDELETEMethod; } }