Builtins Documentation
Ce répertoire contient la documentation de tous les namespaces et builtins disponibles dans Bidji.
Namespaces disponibles
bjmda - Bidji MDA
Fichier : bjmda.md
Description : Namespace pour accéder aux métadonnées des entités et propriétés Bidji (Model Driven Architecture).
Syntaxe :
${bjmda.name(entity)}
${bjmda.package(entity)}
[#foreach p in bjmda.properties(entity)]${p.name}: ${p.type}[/#foreach]
[#if bjmda.has_complex_types()]...[/#if]
Méthodes principales :
name(entity)- Nom de l’entitépackage(entity)- Package (répertoire parent)module(entity)- Module (répertoire grand-parent)properties(entity)- Toutes les propriétés (clés sans@)native_properties(entity)- Propriétés de types natifstype_or_string(property)- Type ou ‘string’ par défauthas_complex_types()- Modèle avec types complexes
Statut : ✅ Production-ready (v0.8+)
bjio - Bidji I/O
Fichier : bjio.md
Description : Namespace pour les opérations sur les fichiers et chemins.
Syntaxe :
${bjio.name(file)}
${bjio.base_name(file)}
${bjio.absolute_path(file)}
${bjio.relative_path(file)}
Méthodes :
name(file)- Nom du fichierbase_name(file)- Nom sans extensionabsolute_path(file)- Chemin absolurelative_path(file)- Chemin relatifpath(file, mode)- Chemin selon modedir_name(file)- Nom du répertoireabsolute_dir_path(file)- Chemin absolu du répertoirerelative_dir_path(file)- Chemin relatif du répertoiredir_path(file, mode)- Chemin du répertoire selon mode
Statut : ✅ Production-ready (v0.8+)
Builtins dépréciés
file?api (DÉPRÉCIÉ)
⚠️ DÉPRÉCIÉ - Remplacé par bjio
Ancienne syntaxe :
${file?api.name()} ❌ DÉPRÉCIÉ
${file?api.base_name()} ❌ DÉPRÉCIÉ
Nouvelle syntaxe :
${bjio.name(file)} ✅ UTILISEZ CECI
${bjio.base_name(file)} ✅ UTILISEZ CECI
Migration : Voir bjio.md
Guide d’utilisation
1. Trouver la documentation
Chaque namespace a sa propre page de documentation dans ce répertoire.
2. Structure d’une page
Chaque page contient :
- Vue d’ensemble
- Liste des méthodes
- Paramètres et types de retour
- Exemples d’utilisation
- Notes importantes
- Guide de migration (si applicable)
3. Exemples
Tous les exemples sont testés et fonctionnels.
4. Tests
Des tests AntUnit et JUnit sont disponibles pour chaque namespace :
- Tests AntUnit :
test/build-builtin-*.xml - Tests JUnit :
src/test/java/org/bidji/freemarker/builtin/*Test.java
Convention de nommage
Namespaces
Les namespaces suivent la convention bj* :
bjmda- Bidji MDA (entités, propriétés, métadonnées)bjio- Bidji I/O (fichiers, chemins)bjlines- (futur) Bidji Lines (manipulation de lignes)bjutils- (futur) Bidji Utils (utilitaires généraux)
Méthodes
Les méthodes suivent la convention snake_case pour cohérence avec FreeMarker :
base_name()(pasbaseName())absolute_path()(pasabsolutePath())
Contribution
Ajouter un nouveau builtin
- Créer la classe Java dans
src/main/java/org/bidji/freemarker/builtin/ - Créer les tests dans
src/test/java/org/bidji/freemarker/builtin/ - Créer les tests AntUnit dans
test/build-builtin-*.xml - Créer la documentation dans
doc/builtins/*.md - Mettre à jour ce README
Structure de documentation
# namespace - Description
**Version:** X.X
**Namespace:** `namespace`
**Type:** Type
## Table des Matières
...
## Vue d'ensemble
...
## Méthodes disponibles
...
## Exemples
...
## Notes importantes
...
## Tests
...
Ressources
Documentation générale
- RefactoringBuiltin.md - Guide de refactoring
- Phase3-Bjio-Implementation.md - Détails Phase 3
- PHASE3-SUMMARY.md - Résumé Phase 3
Code source
- Classes :
src/main/java/org/bidji/freemarker/builtin/ - Tests Java :
src/test/java/org/bidji/freemarker/builtin/ - Tests AntUnit :
test/build-builtin-*.xml
Outils
- Script de recherche :
find_builtin.sh - Script de migration bjio : Voir bjio.md
- Script de migration bjmda :
migrate_api_to_bjmda.sh
Dernière mise à jour : 2026-02-08