class JDBCConnection implements ObjectStoreConnection {

    @Override
    public List<TemplateMetaData> getDomainTemplates(String domainName) {
        TemplateMetaData templateDomainMapping;
        List<TemplateMetaData> templateDomainMappingList = new ArrayList<>();
        final String caller = "getDomainTemplates";
        int domainId = getDomainId(domainName);
        if (domainId == 0) {
            throw notFoundError(caller, ZMSConsts.OBJECT_DOMAIN, domainName);
        }

        try (PreparedStatement ps = con.prepareStatement(SQL_LIST_DOMAIN_TEMPLATES)) {
            ps.setInt(1, domainId);
            try (ResultSet rs = executeQuery(ps, caller)) {
                while (rs.next()) {
                    templateDomainMapping = new TemplateMetaData();
                    templateDomainMapping.setTemplateName(rs.getString(ZMSConsts.DB_COLUMN_TEMPLATE_NAME));
                    templateDomainMapping.setCurrentVersion(rs.getInt(ZMSConsts.DB_COLUMN_TEMPLATE_VERSION));
                    templateDomainMappingList.add(templateDomainMapping);
                }
            }
        } catch (SQLException ex) {
            throw sqlError(ex, caller);
        }
        return templateDomainMappingList;
    }

    public  JDBCConnection(Connection con, boolean autoCommit);

}