package com.taobao.tddl.common.model;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.builder.ToStringBuilder;
import com.taobao.tddl.common.exception.TddlRuntimeException;
import com.taobao.tddl.common.utils.TddlToStringStyle;
/**
* 类似tddl三层结构的matrix概念,用于以后扩展第三方存储,目前扩展属性暂时使用properties代替
*
* @author whisper
* @author <a href="jianghang.loujh@taobao.com">jianghang</a>
*/
public class Matrix {
private String name;
private List<Group> groups = new ArrayList<Group>();
private Map<String, String> properties = new HashMap();
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Group> getGroups() {
return groups;
}
public void setGroups(List<Group> groups) {
this.groups = groups;
}
public Group getGroup(String groupName) {
for (Group group : groups) {
if (group.getName().equals(groupName)) {
return group;
}
}
throw new TddlRuntimeException("not found groupName : " + groupName);
}
public Map<String, String> getProperties() {
return properties;
}
public void setProperties(Map<String, String> properties) {
this.properties = properties;
}
public String toString() {
return ToStringBuilder.reflectionToString(this, TddlToStringStyle.DEFAULT_STYLE);
}
}