package com.txtr.hibernatedelta.model;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import org.apache.commons.lang3.StringUtils;
import static javax.xml.bind.annotation.XmlAccessType.FIELD;
@XmlRootElement(name = "indexNames")
@XmlAccessorType(FIELD)
public class HibernateIndexNames {
@XmlElement(name = "indexName")
private List<HibernateIndexName> indexNames = new ArrayList<HibernateIndexName>();
public List<HibernateIndexName> getIndexNames() {
return indexNames;
}
public HibernateIndexName find(String tableName, List<String> columns) {
String names = StringUtils.join(columns, ',');
for (HibernateIndexName indexName : indexNames) {
if (indexName.getTableName().equalsIgnoreCase(tableName) && StringUtils.join(indexName.getColumns(), ',').equalsIgnoreCase(names)) {
return indexName;
}
}
return null;
}
public HibernateIndexName findByName(String name) {
for (HibernateIndexName indexName : indexNames) {
if (indexName.getName().equalsIgnoreCase(name)) {
return indexName;
}
}
return null;
}
}