Skip to content

Commit bd17bc1

Browse files
authored
Add Javadoc
1 parent 9361e1a commit bd17bc1

File tree

2 files changed

+61
-1
lines changed

2 files changed

+61
-1
lines changed

Diff for: src/main/java/org/qstd/QuickSqlTestData.java

+49-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ private QuickSqlTestData(DatasetRowsGenerator datasetRowsGenerator, DatabaseType
5151

5252
/**
5353
* Factory method to build an instance of <code>org.qstd.QuickSqlTestData</code> from a data source.
54-
* The retrieval of database metadata, such as not null columns or primary keys, is cached for each table.
54+
* <em>The retrieval of database metadata, such as not null columns or primary keys, is cached for each table.</em>
5555
* @param dataSource A data source
5656
* @return An instance of <code>org.qstd.QuickSqlTestData</code>
5757
*/
@@ -63,37 +63,85 @@ public static QuickSqlTestData buildFrom(DataSource dataSource) {
6363
return buildFrom(dataSource, dbType, databaseMetadataFinderWithCache);
6464
}
6565

66+
/**
67+
* Factory method to build an instance of <code>org.qstd.QuickSqlTestData</code> from a data source,
68+
* a database type and a database metadata finder.
69+
* @param dataSource A datasource
70+
* @param dbType A database type
71+
* @param databaseMetadataFinder A database metadata finder
72+
* @return An instance of <code>org.qstd.QuickSqlTestData</code>
73+
*/
6674
public static QuickSqlTestData buildFrom(DataSource dataSource, DatabaseType dbType, DatabaseMetadataFinder databaseMetadataFinder) {
6775
DatasetRowsGenerator datasetRowsGenerator = new DatasetRowsGenerator(dataSource, dbType, databaseMetadataFinder);
6876
return new QuickSqlTestData(datasetRowsGenerator, dbType);
6977
}
7078

79+
/**
80+
* Generates an SQL script allowing to test the SQL query given in parameter.
81+
* This script contains INSERT statements.
82+
* It takes into account the database integrity constraints.
83+
* @param sqlQuery An SQL query
84+
* @return An SQL script allowing to test the SQL query given in parameter
85+
*/
7186
public String generateInsertScriptFor(String sqlQuery) {
7287
return generateInsertScriptFor(sqlQuery, emptyList());
7388
}
7489

90+
/**
91+
* Generates an SQL script allowing to test an SQL query with its bind parameter values.
92+
* This script contains INSERT statements.
93+
* It takes into account the database integrity constraints.
94+
* @param query An SQL query with bind parameters
95+
* @param parameters Bind parameter values
96+
* @return An SQL script allowing to test the SQL query with its bind parameter values
97+
*/
7598
public String generateInsertScriptFor(String query, List<Object> parameters) {
7699
List<SqlQuery> sqlQueries = singletonList(new SqlQuery(query, parameters));
77100
return generateInsertScriptFor(sqlQueries);
78101
}
79102

103+
/**
104+
* Generates an SQL script allowing to test the list of SQL queries given in parameter.
105+
* This script contains INSERT statements.
106+
* It takes into account the database integrity constraints.
107+
* @param sqlQueries SQL queries
108+
* @return An SQL script allowing to test the SQL queries given in parameter
109+
*/
80110
public String generateInsertScriptFor(List<SqlQuery> sqlQueries) {
81111
List<DatasetRow> datasetRows = datasetRowsGenerator.generateDatasetRowsFor(sqlQueries);
82112
return insertStatementGenerator.generateInsertScriptFor(datasetRows);
83113
}
84114

115+
/**
116+
* Generates a list of INSERT statements allowing to test the list of SQL queries given in parameter.
117+
* These INSERT statements take into account the database integrity constraints.
118+
* @param sqlQueries SQL queries
119+
* @return An SQL script allowing to test the SQL queries given in parameter
120+
*/
85121
public String generateInsertScriptFor(String... sqlQueries) {
86122
List<SqlQuery> queries = stream(sqlQueries)
87123
.map(SqlQuery::new)
88124
.collect(toList());
89125
return generateInsertScriptFor(queries);
90126
}
91127

128+
/**
129+
* Generates a list of INSERT statements allowing to create in database the dataset row given in parameter.
130+
* These INSERT statements take into account the database integrity constraints.
131+
* @param datasetRow A dataset row
132+
* @return A list of INSERT statements allowing to create in database the dataset row given in parameter
133+
*/
92134
public List<String> generateInsertListFor(DatasetRow datasetRow) {
93135
SqlQuery sqlQuery = SqlQuery.buildFromRow(datasetRow, dbType);
94136
return generateInsertListFor(sqlQuery.toString());
95137
}
96138

139+
/**
140+
* Generates a list of INSERT statements allowing to test the SQL queries given in parameter.
141+
* These INSERT statements take into account the database integrity constraints.
142+
* @param sqlQueries SQL queries
143+
* @return A list of INSERT statements allowing to test the SQL queries given in parameter
144+
*/
97145
public List<String> generateInsertListFor(String... sqlQueries) {
98146
List<SqlQuery> sqlQueryObjects = stream(sqlQueries)
99147
.map(SqlQuery::new)

Diff for: src/main/java/org/qstd/SqlQuery.java

+12
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,29 @@
1818

1919
import static java.util.stream.Collectors.joining;
2020

21+
/**
22+
* Class to represent an SQL query
23+
*/
2124
public class SqlQuery {
2225

2326
private final String queryAsString;
2427

2528
private final List<Object> parameters;
2629

30+
/**
31+
* Constructor to instantiate an SQL Query from an SQL query as String
32+
* @param queryAsString An SQL query as string
33+
*/
2734
public SqlQuery(String queryAsString) {
2835
this.queryAsString = queryAsString;
2936
this.parameters = Collections.emptyList();
3037
}
3138

39+
/**
40+
* Constructor to instantiate an SQL query from an SQL query with bind parameters and its bind parameter values
41+
* @param queryAsString An SQL query as String with bind parameters
42+
* @param parameters Bind parameter values
43+
*/
3244
public SqlQuery(String queryAsString, List<Object> parameters) {
3345
this.queryAsString = queryAsString;
3446
this.parameters = parameters;

0 commit comments

Comments
 (0)