Объекты
Материал из DevelopmenOnTheEdge
								(перенаправлено с «Объекты (BeanExplorer4)»)
												
				Для удобства в контексте выполнения Freemarker всегда содержатся некоторые объекты. Внутри конструкций Freemarker (${}, <#> и <@>) ими можно пользоваться как обычными Java-объектами.
Эти объекты определены везде (в Custom scripts и при задании кода представлений):
-  project: объект com.beanexplorer.enterprise.metadata.model.Project; содержит всю иерархию проекта; можно достать любые данные. Примеры:
-  
${project.getConnectionProfileName()}— профиль соединения к базе данных. -  
${project.getEntity('myTable').getQueries().get('myQuery').getMenuName()}— название пункта меню для представления myQuery в таблице myTable. 
 -  
 -  dbPlatform: строка, определяющая платформу СУБД. Сокращённый вариант для project.getDatabaseSystem().getName(). Пример использования:
-  
SELECT <#if dbPlatform == 'sqlserver'>TOP 1</#if> 
 -  
 - currentDate: SQL-выражение для текущей даты в текущей версии СУБД
 - currentDateTime: SQL-выражение для текущего времени в текущей версии СУБД
 - fromFakeTable: SQL-выражение для выборки из псевдо-таблицы (например "FROM DUAL") в зависимости от текущей версии СУБД
 -  null: специальное значение для работы с NULL в SQL. При использовании 
null?strвы получите строку NULL. Объект null можно передавать в макросы и функции, которые применят?strк нему. Использование объекта null другими способами ведёт к неопределённому поведению. 
Эти объекты могут быть определены при задании кода представлений или кастомизаций:
- module: объект com.beanexplorer.enterprise.metadata.model.Module, представляющий текущий модуль
 -  entity: объект com.beanexplorer.enterprise.metadata.model.Entity, представляющий текущую entity. Пример:
-  
SELECT * FROM ${entity.getName()}— выбрать все элементы из текущего entity (можно, к примеру, определить такой макрос и использовать его в разных entity). 
 -  
 
- query: объект com.beanexplorer.enterprise.metadata.model.Query, представляющий текущее представление.
 - operation: объект com.beanexplorer.enterprise.metadata.model.Operation, представляющий текущую операцию.
 - customization: объект com.beanexplorer.enterprise.metadata.model.PageCustomization, представляющий текущую кастомизацию.