public class MetaDataUtils extends Object
Modifier | Constructor and Description |
---|---|
protected |
MetaDataUtils()
Protected constructor to prevent outside instantiation
|
Modifier and Type | Method and Description |
---|---|
boolean |
arrayStorableAsByteArrayInSingleColumn(AbstractMemberMetaData fmd)
Convenience method to determine if an array is storable in a single column as a byte
array.
|
static boolean |
getBooleanForString(String str,
boolean dflt)
Convenience method to return a boolean from the String value.
|
static FileMetaData[] |
getFileMetaDataForInputFiles(MetaDataManager metaDataMgr,
ClassLoaderResolver clr,
String[] inputFiles)
Method to take the provided input files and returns the FileMetaData that they implies.
|
String[] |
getImplementationNamesForReferenceField(AbstractMemberMetaData fmd,
FieldRole fieldRole,
ClassLoaderResolver clr,
MetaDataManager mmgr)
Convenience method to return the class names of the available implementation types for
an interface/Object field, given its required role.
|
static MetaDataUtils |
getInstance()
Gets an instance of MetaDataUtils
|
static List<AbstractClassMetaData> |
getMetaDataForCandidates(Class cls,
boolean subclasses,
ExecutionContext ec)
Convenience method to return the class metadata for the candidate and optionally its subclasses.
|
static PersistenceUnitMetaData |
getMetaDataForPersistenceUnit(PluginManager pluginMgr,
String persistenceFilename,
String unitName,
boolean validate,
boolean namespaceAware,
ClassLoaderResolver clr)
Convenience method to parse the available persistence.xml file(s) and find the metadata for the specified persistence-unit.
|
static Class |
getTypeOfDatastoreIdentity(IdentityMetaData idmd) |
static String |
getValueForExtensionRecursively(MetaData metadata,
String key)
Searches the meta data tree upwards starting with the given leaf, stops as
soon as it finds an extension with the given key.
|
String[] |
getValuesForCommaSeparatedAttribute(String attr)
Convenience method that splits a comma-separated list of values into a String array (removing whitespace).
|
static String[] |
getValuesForExtensionRecursively(MetaData metadata,
String key)
Searches the meta data tree upwards starting with the given leaf, stops as
soon as it finds an extension with the given key.
|
static boolean |
isJdbcTypeFloatingPoint(JdbcType jdbcType)
Convenience method to return if a jdbc-type is floating point based.
|
static boolean |
isJdbcTypeNumeric(JdbcType jdbcType)
Convenience method to return if a jdbc-type is numeric.
|
static boolean |
isJdbcTypeString(JdbcType jdbcType)
Convenience method to return if a jdbc-type is character based.
|
static boolean |
isMemberEmbedded(AbstractMemberMetaData mmd,
RelationType relationType,
ClassLoaderResolver clr,
MetaDataManager mmgr)
Convenience method to return whether a member is stored as embedded.
|
boolean |
isMemberEmbedded(MetaDataManager mmgr,
ClassLoaderResolver clr,
AbstractMemberMetaData mmd,
RelationType relationType,
AbstractMemberMetaData ownerMmd)
Convenience method to return if the specified member is embedded.
|
static PersistenceFileMetaData[] |
parsePersistenceFiles(PluginManager pluginMgr,
String persistenceFilename,
boolean validate,
boolean namespaceAware,
ClassLoaderResolver clr)
Method to parse the available "persistence.xml" files returning the metadata for all found.
|
static boolean |
persistColumnAsNumeric(ColumnMetaData colmd)
Convenience method for whether to persist the provided column as numeric.
|
static boolean |
persistColumnAsString(ColumnMetaData colmd)
Convenience method for whether to persist the provided column as string-based.
|
boolean |
storesFCO(AbstractMemberMetaData fmd,
ExecutionContext ec)
Convenience method that returns if a field stores a First-Class object (FCO).
|
boolean |
storesPersistable(AbstractMemberMetaData fmd,
ExecutionContext ec)
Convenience method that returns if a field stores a persistable object.
|
protected MetaDataUtils()
public static MetaDataUtils getInstance()
public boolean arrayStorableAsByteArrayInSingleColumn(AbstractMemberMetaData fmd)
fmd
- The fieldpublic boolean storesPersistable(AbstractMemberMetaData fmd, ExecutionContext ec)
fmd
- MetaData for the fieldec
- ExecutionContextpublic boolean storesFCO(AbstractMemberMetaData fmd, ExecutionContext ec)
fmd
- MetaData for the fieldec
- ExecutionContextpublic String[] getValuesForCommaSeparatedAttribute(String attr)
attr
- The attribute valuepublic String[] getImplementationNamesForReferenceField(AbstractMemberMetaData fmd, FieldRole fieldRole, ClassLoaderResolver clr, MetaDataManager mmgr)
fmd
- MetaData for the fieldfieldRole
- The role of the fieldclr
- the ClassLoaderResolvermmgr
- MetaData managerNucleusUserException
- if no implementation types are found for the reference type fieldpublic static boolean getBooleanForString(String str, boolean dflt)
str
- The string (should be "true", "false")dflt
- The defaultpublic static String getValueForExtensionRecursively(MetaData metadata, String key)
metadata
- Leaf of the meta data tree, where the search should startkey
- The key of the extensionpublic static String[] getValuesForExtensionRecursively(MetaData metadata, String key)
metadata
- Leaf of the meta data tree, where the search should startkey
- The key of the extensionpublic static boolean isJdbcTypeNumeric(JdbcType jdbcType)
jdbcType
- The type stringpublic static boolean isJdbcTypeFloatingPoint(JdbcType jdbcType)
jdbcType
- The type stringpublic static boolean isJdbcTypeString(JdbcType jdbcType)
jdbcType
- The type stringpublic static List<AbstractClassMetaData> getMetaDataForCandidates(Class cls, boolean subclasses, ExecutionContext ec)
cls
- The classsubclasses
- Include subclasses?ec
- ExecutionContextNucleusUserException
- if candidate is an interface with no metadata (i.e not persistent)public static FileMetaData[] getFileMetaDataForInputFiles(MetaDataManager metaDataMgr, ClassLoaderResolver clr, String[] inputFiles)
metaDataMgr
- Manager for MetaDataclr
- ClassLoader resolverinputFiles
- Input metadata/class filesNucleusException
- Thrown if error(s) occur in processing the inputpublic static PersistenceFileMetaData[] parsePersistenceFiles(PluginManager pluginMgr, String persistenceFilename, boolean validate, boolean namespaceAware, ClassLoaderResolver clr)
pluginMgr
- PluginManagerpersistenceFilename
- Name of persistence file (if null will use "persistence.xml")validate
- Whether to validate the persistence filenamespaceAware
- Whether to support namespacesclr
- ClassLoader resolverpublic static PersistenceUnitMetaData getMetaDataForPersistenceUnit(PluginManager pluginMgr, String persistenceFilename, String unitName, boolean validate, boolean namespaceAware, ClassLoaderResolver clr)
pluginMgr
- Plugin ManagerpersistenceFilename
- Filename of the persistence.xml (or null if using default "META-INF/persistence.xml")unitName
- Name of the persistence unitvalidate
- Whether to validate the XMLnamespaceAware
- Whether the XML is namespace awareclr
- ClassLoader resolverpublic static boolean persistColumnAsNumeric(ColumnMetaData colmd)
colmd
- Metadata for the columnpublic static boolean persistColumnAsString(ColumnMetaData colmd)
colmd
- Metadata for the columnpublic static Class getTypeOfDatastoreIdentity(IdentityMetaData idmd)
public static boolean isMemberEmbedded(AbstractMemberMetaData mmd, RelationType relationType, ClassLoaderResolver clr, MetaDataManager mmgr)
mmd
- Metadata for the memberrelationType
- The relation type for this memberclr
- ClassLoader resolvermmgr
- MetaData managerpublic boolean isMemberEmbedded(MetaDataManager mmgr, ClassLoaderResolver clr, AbstractMemberMetaData mmd, RelationType relationType, AbstractMemberMetaData ownerMmd)
mmgr
- Metadata managerclr
- ClassLoader resolvermmd
- Metadata for the member we are interested inrelationType
- Relation type of the member we are interested inownerMmd
- Optional metadata for the owner member (for nested embeddeds only. Set to null if not relevant to the member in question).Copyright © 2019. All rights reserved.