package com.constellio.app.modules.robots.model.wrappers; import static java.util.Arrays.asList; import java.util.List; import com.constellio.app.ui.pages.search.criteria.Criterion; import com.constellio.app.ui.pages.search.criteria.CriterionBuilder; import com.constellio.model.entities.records.Record; import com.constellio.model.entities.records.wrappers.RecordWrapper; import com.constellio.model.entities.schemas.MetadataSchemaTypes; public class Robot extends RecordWrapper { public static final String SCHEMA_TYPE = "robot"; public static final String DEFAULT_SCHEMA = SCHEMA_TYPE + "_default"; public static final String CODE = "code"; public static final String DESCRIPTION = "description"; public static final String PARENT = "parent"; public static final String SCHEMA_FILTER = "schemaFilter"; public static final String SEARCH_CRITERIA = "searchCriteria"; public static final String ACTION = "action"; public static final String ACTION_PARAMETERS = "actionParameters"; public static final String EXCLUDE_PROCESSED_BY_CHILDREN = "excludeProcessedByChildren"; public static final String AUTO_EXECUTE = "autoExecute"; public Robot(Record record, MetadataSchemaTypes types) { super(record, types, SCHEMA_TYPE); } public Robot setTitle(String title) { super.setTitle(title); return this; } public String getCode() { return get(CODE); } public Robot setCode(String code) { set(CODE, code); return this; } public String getDescription() { return get(DESCRIPTION); } public Robot setDescription(String description) { set(DESCRIPTION, description); return this; } public String getParent() { return get(PARENT); } public Robot setParent(String parentId) { set(PARENT, parentId); return this; } public Robot setParent(Record parent) { set(PARENT, parent); return this; } public Robot setParent(Robot parent) { set(PARENT, parent); return this; } public String getSchemaFilter() { return get(SCHEMA_FILTER); } public Robot setSchemaFilter(String schemaType) { set(SCHEMA_FILTER, schemaType); return this; } public List<Criterion> getSearchCriteria() { return getList(SEARCH_CRITERIA); } public Robot setSearchCriterion(CriterionBuilder criterion) { return setSearchCriterion(criterion.build()); } public Robot setSearchCriterion(Criterion criterion) { return setSearchCriteria(asList(criterion)); } public Robot setSearchCriteria(List<Criterion> criteria) { set(SEARCH_CRITERIA, criteria); return this; } public String getAction() { return get(ACTION); } public Robot setAction(String action) { set(ACTION, action); return this; } public String getActionParameters() { return get(ACTION_PARAMETERS); } public Robot setActionParameters(String parametersId) { set(ACTION_PARAMETERS, parametersId); return this; } public Robot setActionParameters(ActionParameters parameters) { set(ACTION_PARAMETERS, parameters); return this; } public boolean getExcludeProcessedByChildren() { return get(EXCLUDE_PROCESSED_BY_CHILDREN); } public Robot setExcludeProcessedByChildren(boolean excludeProcessed) { set(EXCLUDE_PROCESSED_BY_CHILDREN, excludeProcessed); return this; } public boolean isAutoExecute() { return getBooleanWithDefaultValue(AUTO_EXECUTE, false); } public Robot setAutoExecute(boolean autoExecute) { set(AUTO_EXECUTE, autoExecute); return this; } public boolean isRoot() { return getParent() == null; } }