package com.nurkiewicz.jdbcrepository;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
* @author Tomasz Nurkiewicz
* @since 12/18/12, 10:06 PM
*/
public class TableDescription {
private final String name;
private final List<String> idColumns;
private final String fromClause;
public TableDescription(String name, String fromClause, String... idColumns) {
Assert.notNull(name);
Assert.notNull(idColumns);
Assert.isTrue(idColumns.length > 0, "At least one primary key column must be provided");
this.name = name;
this.idColumns = Collections.unmodifiableList(Arrays.asList(idColumns));
if (StringUtils.hasText(fromClause)) {
this.fromClause = fromClause;
} else {
this.fromClause = name;
}
}
public TableDescription(String name, String idColumn) {
this(name, null, idColumn);
}
public String getName() {
return name;
}
public List<String> getIdColumns() {
return idColumns;
}
public String getFromClause() {
return fromClause;
}
}