Skip to content

Commit f20fa26

Browse files
authored
Merge pull request #27 from EzFramework/feature/public-configuration
Defaults Configuration
2 parents 1231966 + 789a55f commit f20fa26

8 files changed

Lines changed: 865 additions & 20 deletions

File tree

src/main/java/com/github/ezframework/javaquerybuilder/query/Query.java

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,18 @@ public class Query {
5555
/** The list of scalar subquery items appended to the SELECT clause. */
5656
private List<ScalarSelectItem> selectSubqueries = new ArrayList<>();
5757

58+
/**
59+
* The column expression rendered when {@code selectColumns} is empty.
60+
* Defaults to {@code "*"}; overridable via {@link QueryBuilderDefaults}.
61+
*/
62+
private String defaultSelectColumns = "*";
63+
64+
/** Prefix prepended to values for LIKE and NOT LIKE conditions. */
65+
private String likePrefix = "%";
66+
67+
/** Suffix appended to values for LIKE and NOT LIKE conditions. */
68+
private String likeSuffix = "%";
69+
5870
/**
5971
* Gets the source table for the query.
6072
*
@@ -306,4 +318,64 @@ public List<ScalarSelectItem> getSelectSubqueries() {
306318
public void setSelectSubqueries(List<ScalarSelectItem> selectSubqueries) {
307319
this.selectSubqueries = selectSubqueries;
308320
}
321+
322+
/**
323+
* Returns the column expression used in {@code SELECT} when no explicit
324+
* columns are configured on the builder.
325+
*
326+
* @return the default column expression; never {@code null}
327+
*/
328+
public String getDefaultSelectColumns() {
329+
return defaultSelectColumns;
330+
}
331+
332+
/**
333+
* Sets the column expression used in {@code SELECT} when no explicit
334+
* columns are configured.
335+
*
336+
* @param defaultSelectColumns the column expression; must not be {@code null}
337+
*/
338+
public void setDefaultSelectColumns(final String defaultSelectColumns) {
339+
this.defaultSelectColumns = defaultSelectColumns;
340+
}
341+
342+
/**
343+
* Returns the prefix prepended to values for {@code LIKE} and
344+
* {@code NOT LIKE} conditions.
345+
*
346+
* @return the LIKE prefix; never {@code null}
347+
*/
348+
public String getLikePrefix() {
349+
return likePrefix;
350+
}
351+
352+
/**
353+
* Sets the prefix prepended to values for {@code LIKE} and
354+
* {@code NOT LIKE} conditions.
355+
*
356+
* @param likePrefix the LIKE prefix; must not be {@code null}
357+
*/
358+
public void setLikePrefix(final String likePrefix) {
359+
this.likePrefix = likePrefix;
360+
}
361+
362+
/**
363+
* Returns the suffix appended to values for {@code LIKE} and
364+
* {@code NOT LIKE} conditions.
365+
*
366+
* @return the LIKE suffix; never {@code null}
367+
*/
368+
public String getLikeSuffix() {
369+
return likeSuffix;
370+
}
371+
372+
/**
373+
* Sets the suffix appended to values for {@code LIKE} and
374+
* {@code NOT LIKE} conditions.
375+
*
376+
* @param likeSuffix the LIKE suffix; must not be {@code null}
377+
*/
378+
public void setLikeSuffix(final String likeSuffix) {
379+
this.likeSuffix = likeSuffix;
380+
}
309381
}

0 commit comments

Comments
 (0)