/**
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* This library 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 2.1 of the License, or (at your option)
* any later version.
*
* This library 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 Lesser General Public License for more
* details.
*/
package com.liferay.dynamic.data.lists.form.web.internal.converter.model.action;
import com.liferay.dynamic.data.lists.form.web.internal.converter.model.DDLFormRuleAction;
import com.liferay.dynamic.data.lists.form.web.internal.converter.serializer.AutoFillDDLFormRuleActionSerializer;
import com.liferay.dynamic.data.lists.form.web.internal.converter.serializer.DDLFormRuleActionSerializer;
import com.liferay.portal.kernel.json.JSON;
import com.liferay.portal.kernel.util.HashUtil;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Objects;
/**
* @author Rafael Praxedes
*/
public class AutoFillDDLFormRuleAction implements DDLFormRuleAction {
public AutoFillDDLFormRuleAction() {
}
public AutoFillDDLFormRuleAction(
String ddmDataProviderInstanceUUID, Map<String, String> inputMapper,
Map<String, String> outputMapper) {
_ddmDataProviderInstanceUUID = ddmDataProviderInstanceUUID;
_inputMapper = inputMapper;
_outputMapper = outputMapper;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof AutoFillDDLFormRuleAction)) {
return false;
}
AutoFillDDLFormRuleAction autoFillDDLFormRuleAction =
(AutoFillDDLFormRuleAction)obj;
if (Objects.equals(
_ddmDataProviderInstanceUUID,
autoFillDDLFormRuleAction._ddmDataProviderInstanceUUID) &&
Objects.equals(
_inputMapper, autoFillDDLFormRuleAction._inputMapper) &&
Objects.equals(
_outputMapper, autoFillDDLFormRuleAction._outputMapper)) {
return true;
}
return false;
}
@Override
public String getAction() {
return "auto-fill";
}
@JSON(name = "ddmDataProviderInstanceUUID")
public String getDDMDataProviderInstanceUUID() {
return _ddmDataProviderInstanceUUID;
}
@JSON(name = "inputs")
public Map<String, String> getInputParametersMapper() {
return _inputMapper;
}
@JSON(name = "outputs")
public Map<String, String> getOutputParametersMapper() {
return _outputMapper;
}
@Override
public int hashCode() {
int hash = HashUtil.hash(0, _ddmDataProviderInstanceUUID);
hash = HashUtil.hash(hash, _inputMapper);
return HashUtil.hash(hash, _inputMapper);
}
@Override
public String serialize() {
DDLFormRuleActionSerializer ddlFormRuleActionSerializer =
new AutoFillDDLFormRuleActionSerializer(this);
return ddlFormRuleActionSerializer.serialize();
}
public void setDDMDataProviderInstanceUUID(
String ddmDataProviderInstanceUUID) {
_ddmDataProviderInstanceUUID = ddmDataProviderInstanceUUID;
}
public void setInputParametersMapper(Map<String, String> inputMapper) {
_inputMapper = inputMapper;
}
public void setOutputParametersMapper(Map<String, String> outputMapper) {
_outputMapper = outputMapper;
}
private String _ddmDataProviderInstanceUUID;
private Map<String, String> _inputMapper = new LinkedHashMap<>();
private Map<String, String> _outputMapper = new LinkedHashMap<>();
}