3.2.6.6.1. MetadataTools
ManagedBean, содержащий вспомогательные методы работы с метаданными. Интерфейс MetadataTools можно получить либо методом Metadata.getTools(), либо как любой другой бин - инжекцией или через класс AppBeans.
Методы MetadataTools:
-  
getAllPersistentMetaClasses()- возвращает коллекцию мета-классов персистентных сущностей -  
getAllEmbeddableMetaClasses()- возвращает коллекцию мета-классов встраиваемых сущностей -  
getAllEnums()- возвращает коллекцию классов перечислений, используемых в качестве типов атрибутов сущностей -  
format()- форматирует переданное значение в соответствии с типом данных заданного мета-свойства -  
isSystem()- определяет, является ли переданное мета-свойство системным, т.е. заданным в одном из базовых интерфейсов сущностей -  
isPersistent()- определяет, является ли переданное мета-свойство персистентным, т.е. хранимым в БД -  
isTransient()- определяет, является ли переданное мета-свойство или произвольный атрибут неперсистентным -  
isEmbedded()- определяет, является ли переданное мета-свойство встроенным объектом -  
isAnnotationPresent()- определяет наличие указанной аннотации на классе или его предках -  
getNamePatternProperties()- возвращает коллекцию мета-свойств атрибутов, входящих в имя экземпляра, возвращаемого методомInstance.getInstanceName(). См. @NamePattern. 
Для расширения набора вспомогательных методов в конкретном приложении бин MetadataTools можно переопределить. Примеры работы с расширенным интерфейсом:
MyMetadataTools tools = metadata.getTools();
tools.foo(); 
  ((MyMetadataTools) metadata.getTools()).foo();