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();