private Resource substitutePlaceholdersForResource(Resource resource) {

		StringBuilder script = new StringBuilder();

		try {
			EncodedResource er = new EncodedResource(resource);
			LineNumberReader lnr = new LineNumberReader(er.getReader());
			String line = lnr.readLine();
			while (line != null) {
				if (tableName != null && line.contains(TABLE_PLACEHOLDER)) {
					logger.debug("Substituting '" + TABLE_PLACEHOLDER + "' with '" + tableName + "' in '" + line + "'");
					line = line.replace(TABLE_PLACEHOLDER, tableName);
				}
				if (line.contains(COLUMNS_PLACEHOLDER)) {
					logger.debug("Substituting '" + COLUMNS_PLACEHOLDER + "' with '" + columns + "' in '" + line + "'");
					line = line.replace(COLUMNS_PLACEHOLDER, columns);
				}
				script.append(line + "\n");
				line = lnr.readLine();
			}
			lnr.close();
			return new ByteArrayResource(script.toString().getBytes());
		}
		catch (IOException e) {
			throw new InvalidDataAccessResourceUsageException("Unable to read script " + resource, e);
		}
	}
Sets the column names which will be used to create a DDL definition
of the columns for the table.
extensions/spring-xd-extension-jdbc/src/main/java/org/springframework/xd/jdbc/SingleTableDatabaseInitializer.java