package net.sf.jsqlparser.statement.select; import java.util.List; /** * A DISTINCT [ON (expression, ...)] clause */ public class Distinct { private List onSelectItems; private String comment; private String commentOn; private String commentBeginBracket; private String commentEndBracket; private List commentsComma; /** * A list of {@link SelectItem}s expressions, as in "select DISTINCT ON (a,b,c) a,b FROM..." * @return a list of {@link SelectItem}s expressions */ public List getOnSelectItems() { return onSelectItems; } public void setOnSelectItems(List list) { onSelectItems = list; } @Override public String toString() { String sql = (getComment() != null ? getComment()+" " : "")+"DISTINCT"; if (onSelectItems != null && onSelectItems.size() > 0) { sql += (getCommentOn() != null ? " "+getCommentOn() : "") + " ON " + (getCommentBeginBracket() != null ? getCommentBeginBracket()+" " : "") + PlainSelect.getStringListWithCommaComment(onSelectItems, commentsComma, true, true, commentEndBracket); } return sql; } /** * @return the comment */ public String getComment() { return comment; } /** * @param comment the comment to set */ public void setComment(String comment) { this.comment = comment; } /** * @return the commentOn */ public String getCommentOn() { return commentOn; } /** * @param commentOn the commentOn to set */ public void setCommentOn(String commentOn) { this.commentOn = commentOn; } /** * @return the commentBeginBracket */ public String getCommentBeginBracket() { return commentBeginBracket; } /** * @param commentBeginBracket the commentBeginBracket to set */ public void setCommentBeginBracket(String commentBeginBracket) { this.commentBeginBracket = commentBeginBracket; } /** * @return the commentEndBracket */ public String getCommentEndBracket() { return commentEndBracket; } /** * @param commentEndBracket the commentEndBracket to set */ public void setCommentEndBracket(String commentEndBracket) { this.commentEndBracket = commentEndBracket; } /** * @return the commentsComma */ public List getCommentsComma() { return commentsComma; } /** * @param commentsComma the commentsComma to set */ public void setCommentsComma(List commentsComma) { this.commentsComma = commentsComma; } }