/**
* Copyright (C) 2011 JTalks.org Team
* 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.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
package org.jtalks.jcommune.model.dto;
import org.hibernate.validator.constraints.Length;
import org.jtalks.jcommune.model.entity.SpamRule;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.List;
/**
* @author Oleg Tkachenko
*/
public class SpamRuleDto {
private long id;
@NotNull
@Length(min = 1, max = 255)
private String regex;
@Length(max = 255)
private String description;
private boolean enabled;
protected SpamRuleDto() {
}
public SpamRuleDto(long id, String regex, String description, boolean enabled) {
this.id = id;
this.regex = regex;
this.description = description;
this.enabled = enabled;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getRegex() {
return regex;
}
public SpamRuleDto setRegex(String regex) {
this.regex = regex;
return this;
}
public String getDescription() {
return description;
}
public SpamRuleDto setDescription(String description) {
this.description = description;
return this;
}
public boolean isEnabled() {
return enabled;
}
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
public static SpamRuleDto fromEntity(SpamRule entity) {
if (entity == null) return null;
return new SpamRuleDto(entity.getId(), entity.getRegex(), entity.getDescription(), entity.isEnabled());
}
public SpamRule toEntity() {
return new SpamRule(this.getRegex(), this.getDescription(), this.isEnabled());
}
public static List<SpamRuleDto> fromEntities(List<SpamRule> original) {
List<SpamRuleDto> dtoList = new ArrayList<>(original.size());
for (SpamRule spamRule : original) {
dtoList.add(SpamRuleDto.fromEntity(spamRule));
}
return dtoList;
}
}