Java API for SQL language, database metadata and data access layer code generation