@Component(value="rest_EntitiesControllerManager")
public class EntitiesControllerManager
extends java.lang.Object
EntitiesController
. It
performs CRUD operations with entitiesModifier and Type | Class and Description |
---|---|
protected class |
EntitiesControllerManager.SearchEntitiesRequestDTO |
Modifier and Type | Field and Description |
---|---|
protected io.jmix.core.AccessManager |
accessManager |
protected io.jmix.core.DataManager |
dataManager |
protected io.jmix.core.EntityImportExport |
entityImportExport |
protected io.jmix.core.impl.importexport.EntityImportPlanJsonBuilder |
entityImportPlanJsonBuilder |
protected io.jmix.core.EntitySerialization |
entitySerialization |
protected io.jmix.core.EntityStates |
entityStates |
protected io.jmix.core.FetchPlanRepository |
fetchPlanRepository |
protected io.jmix.core.FetchPlans |
fetchPlans |
protected io.jmix.core.Metadata |
metadata |
protected io.jmix.core.MetadataTools |
metadataTools |
protected RestControllerUtils |
restControllerUtils |
protected RestFilterParser |
restFilterParser |
protected RestProperties |
restProperties |
Constructor and Description |
---|
EntitiesControllerManager() |
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
_loadEntitiesList(java.lang.String queryString,
java.lang.String viewName,
java.lang.Integer limit,
java.lang.Integer offset,
java.lang.String sort,
java.lang.Boolean returnNulls,
java.lang.Boolean dynamicAttributes,
java.lang.String modelVersion,
io.jmix.core.metamodel.model.MetaClass metaClass,
java.util.Map<java.lang.String,java.lang.Object> queryParameters) |
protected java.lang.String |
addOrderBy(java.lang.String queryString,
java.lang.String sort,
io.jmix.core.metamodel.model.MetaClass metaClass) |
protected io.jmix.core.accesscontext.CrudEntityContext |
applyEntityConstraints(io.jmix.core.metamodel.model.MetaClass metaClass) |
protected void |
checkCanCreateEntity(io.jmix.core.metamodel.model.MetaClass metaClass) |
protected void |
checkCanDeleteEntity(io.jmix.core.metamodel.model.MetaClass metaClass) |
protected void |
checkCanReadEntity(io.jmix.core.metamodel.model.MetaClass metaClass) |
protected void |
checkCanUpdateEntity(io.jmix.core.metamodel.model.MetaClass metaClass) |
protected void |
checkEntityIsNotNull(java.lang.String entityName,
java.lang.String entityId,
java.lang.Object entity) |
java.lang.Long |
countSearchEntities(java.lang.String entityName,
java.lang.String searchRequestBody) |
java.lang.Long |
countSearchEntities(java.lang.String entityName,
java.lang.String filterJson,
java.lang.String modelVersion) |
protected java.util.List<java.lang.Object> |
createEntitiesFromJson(io.jmix.core.metamodel.model.MetaClass metaClass,
com.google.gson.JsonArray entitiesJsonArray) |
protected java.lang.String |
createEntitiesJson(java.util.Collection<java.lang.Object> entities,
io.jmix.core.metamodel.model.MetaClass metaClass,
java.lang.String responseView,
java.lang.String version) |
ResponseInfo |
createEntity(java.lang.String entityJson,
java.lang.String entityName,
java.lang.String responseView,
java.lang.String modelVersion,
javax.servlet.http.HttpServletRequest request) |
protected java.lang.Object |
createEntityFromJson(io.jmix.core.metamodel.model.MetaClass metaClass,
java.lang.String entityJson) |
protected java.lang.String |
createEntityJson(java.lang.Object entity,
io.jmix.core.metamodel.model.MetaClass metaClass,
java.lang.String responseView,
java.lang.String version)
We pass the EntitySerializationOption.DO_NOT_SERIALIZE_RO_NON_PERSISTENT_PROPERTIES because for create and update
operations in the result JSON we don't want to return results for entity methods annotated with @MetaProperty
annotation.
|
protected ResponseInfo |
createResponseInfoEntities(javax.servlet.http.HttpServletRequest request,
java.lang.String entitiesJson,
java.lang.String entityName,
java.lang.String responseView,
java.lang.String modelVersion) |
protected ResponseInfo |
createResponseInfoEntity(javax.servlet.http.HttpServletRequest request,
java.lang.String entityJson,
java.lang.String entityName,
java.lang.String responseView,
java.lang.String modelVersion) |
void |
deleteEntities(java.lang.String entityName,
java.lang.String entitiesIdJson,
java.lang.String modelVersion) |
void |
deleteEntity(java.lang.String entityName,
java.lang.String entityId,
java.lang.String modelVersion) |
protected io.jmix.core.FetchPlan |
findOrCreateResponseView(io.jmix.core.metamodel.model.MetaClass metaClass,
java.lang.String responseView) |
protected java.util.List<java.lang.String> |
getEntityPropertySortExpression(io.jmix.core.metamodel.model.MetaPropertyPath metaPropertyPath) |
protected java.lang.Object |
getMainEntity(java.util.Collection<java.lang.Object> importedEntities,
io.jmix.core.metamodel.model.MetaClass metaClass)
Finds entity with given metaClass.
|
protected java.lang.Object |
getUpdatedEntity(java.lang.String entityName,
java.lang.String modelVersion,
java.lang.String transformedEntityName,
io.jmix.core.metamodel.model.MetaClass metaClass,
java.lang.String entityJson,
java.lang.String entityId) |
protected boolean |
isMainEntity(java.lang.Object entity,
io.jmix.core.metamodel.model.MetaClass metaClass) |
EntitiesSearchResult |
loadEntitiesList(java.lang.String entityName,
java.lang.String viewName,
java.lang.Integer limit,
java.lang.Integer offset,
java.lang.String sort,
java.lang.Boolean returnNulls,
java.lang.Boolean returnCount,
java.lang.Boolean dynamicAttributes,
java.lang.String modelVersion) |
java.lang.String |
loadEntity(java.lang.String entityName,
java.lang.String entityId,
java.lang.String viewName,
java.lang.Boolean returnNulls,
java.lang.Boolean dynamicAttributes,
java.lang.String modelVersion) |
EntitiesSearchResult |
searchEntities(java.lang.String entityName,
java.lang.String searchRequestBody) |
EntitiesSearchResult |
searchEntities(java.lang.String entityName,
java.lang.String filterJson,
java.lang.String viewName,
java.lang.Integer limit,
java.lang.Integer offset,
java.lang.String sort,
java.lang.Boolean returnNulls,
java.lang.Boolean returnCount,
java.lang.Boolean dynamicAttributes,
java.lang.String modelVersion) |
ResponseInfo |
updateEntities(java.lang.String entitiesJson,
java.lang.String entityName,
java.lang.String responseView,
java.lang.String modelVersion) |
ResponseInfo |
updateEntity(java.lang.String entityJson,
java.lang.String entityName,
java.lang.String entityId,
java.lang.String responseView,
java.lang.String modelVersion) |
@Autowired protected io.jmix.core.DataManager dataManager
@Autowired protected io.jmix.core.Metadata metadata
@Autowired protected io.jmix.core.EntitySerialization entitySerialization
@Autowired protected io.jmix.core.impl.importexport.EntityImportPlanJsonBuilder entityImportPlanJsonBuilder
@Autowired protected io.jmix.core.EntityImportExport entityImportExport
@Autowired protected io.jmix.core.AccessManager accessManager
@Autowired protected RestControllerUtils restControllerUtils
@Autowired protected RestFilterParser restFilterParser
@Autowired protected RestProperties restProperties
@Autowired protected io.jmix.core.EntityStates entityStates
@Autowired protected io.jmix.core.FetchPlanRepository fetchPlanRepository
@Autowired protected io.jmix.core.MetadataTools metadataTools
@Autowired protected io.jmix.core.FetchPlans fetchPlans
public java.lang.String loadEntity(java.lang.String entityName, java.lang.String entityId, @Nullable java.lang.String viewName, @Nullable java.lang.Boolean returnNulls, @Nullable java.lang.Boolean dynamicAttributes, @Nullable java.lang.String modelVersion)
public EntitiesSearchResult loadEntitiesList(java.lang.String entityName, @Nullable java.lang.String viewName, @Nullable java.lang.Integer limit, @Nullable java.lang.Integer offset, @Nullable java.lang.String sort, @Nullable java.lang.Boolean returnNulls, @Nullable java.lang.Boolean returnCount, @Nullable java.lang.Boolean dynamicAttributes, @Nullable java.lang.String modelVersion)
public EntitiesSearchResult searchEntities(java.lang.String entityName, java.lang.String filterJson, @Nullable java.lang.String viewName, @Nullable java.lang.Integer limit, @Nullable java.lang.Integer offset, @Nullable java.lang.String sort, @Nullable java.lang.Boolean returnNulls, @Nullable java.lang.Boolean returnCount, @Nullable java.lang.Boolean dynamicAttributes, @Nullable java.lang.String modelVersion)
public java.lang.Long countSearchEntities(java.lang.String entityName, java.lang.String filterJson, @Nullable java.lang.String modelVersion)
public EntitiesSearchResult searchEntities(java.lang.String entityName, java.lang.String searchRequestBody)
public java.lang.Long countSearchEntities(java.lang.String entityName, java.lang.String searchRequestBody)
protected java.lang.String _loadEntitiesList(java.lang.String queryString, @Nullable java.lang.String viewName, @Nullable java.lang.Integer limit, @Nullable java.lang.Integer offset, @Nullable java.lang.String sort, @Nullable java.lang.Boolean returnNulls, @Nullable java.lang.Boolean dynamicAttributes, @Nullable java.lang.String modelVersion, io.jmix.core.metamodel.model.MetaClass metaClass, java.util.Map<java.lang.String,java.lang.Object> queryParameters)
protected java.lang.String addOrderBy(java.lang.String queryString, @Nullable java.lang.String sort, io.jmix.core.metamodel.model.MetaClass metaClass)
protected java.util.List<java.lang.String> getEntityPropertySortExpression(io.jmix.core.metamodel.model.MetaPropertyPath metaPropertyPath)
public ResponseInfo createEntity(java.lang.String entityJson, java.lang.String entityName, java.lang.String responseView, java.lang.String modelVersion, javax.servlet.http.HttpServletRequest request)
protected ResponseInfo createResponseInfoEntity(javax.servlet.http.HttpServletRequest request, java.lang.String entityJson, java.lang.String entityName, java.lang.String responseView, java.lang.String modelVersion)
protected ResponseInfo createResponseInfoEntities(javax.servlet.http.HttpServletRequest request, java.lang.String entitiesJson, java.lang.String entityName, java.lang.String responseView, java.lang.String modelVersion)
protected java.lang.Object createEntityFromJson(io.jmix.core.metamodel.model.MetaClass metaClass, java.lang.String entityJson)
protected java.util.List<java.lang.Object> createEntitiesFromJson(io.jmix.core.metamodel.model.MetaClass metaClass, com.google.gson.JsonArray entitiesJsonArray)
public ResponseInfo updateEntity(java.lang.String entityJson, java.lang.String entityName, java.lang.String entityId, java.lang.String responseView, java.lang.String modelVersion)
public ResponseInfo updateEntities(java.lang.String entitiesJson, java.lang.String entityName, java.lang.String responseView, java.lang.String modelVersion)
protected java.lang.Object getUpdatedEntity(java.lang.String entityName, java.lang.String modelVersion, java.lang.String transformedEntityName, io.jmix.core.metamodel.model.MetaClass metaClass, java.lang.String entityJson, java.lang.String entityId)
public void deleteEntity(java.lang.String entityName, java.lang.String entityId, java.lang.String modelVersion)
public void deleteEntities(java.lang.String entityName, java.lang.String entitiesIdJson, java.lang.String modelVersion)
protected void checkEntityIsNotNull(java.lang.String entityName, java.lang.String entityId, java.lang.Object entity)
protected void checkCanReadEntity(io.jmix.core.metamodel.model.MetaClass metaClass)
protected void checkCanCreateEntity(io.jmix.core.metamodel.model.MetaClass metaClass)
protected void checkCanDeleteEntity(io.jmix.core.metamodel.model.MetaClass metaClass)
protected void checkCanUpdateEntity(io.jmix.core.metamodel.model.MetaClass metaClass)
protected io.jmix.core.accesscontext.CrudEntityContext applyEntityConstraints(io.jmix.core.metamodel.model.MetaClass metaClass)
@Nullable protected java.lang.Object getMainEntity(java.util.Collection<java.lang.Object> importedEntities, io.jmix.core.metamodel.model.MetaClass metaClass)
protected boolean isMainEntity(java.lang.Object entity, io.jmix.core.metamodel.model.MetaClass metaClass)
protected java.lang.String createEntityJson(java.lang.Object entity, io.jmix.core.metamodel.model.MetaClass metaClass, java.lang.String responseView, java.lang.String version)
protected java.lang.String createEntitiesJson(java.util.Collection<java.lang.Object> entities, io.jmix.core.metamodel.model.MetaClass metaClass, java.lang.String responseView, java.lang.String version)
protected io.jmix.core.FetchPlan findOrCreateResponseView(io.jmix.core.metamodel.model.MetaClass metaClass, java.lang.String responseView)