@UsageInformation(UsageCategory.INTERNAL)
public class JoinMetaDataTransformer implements MetaDataTransformer
{
public Map<String, Object> convertMetaData(MetaDataEntry metaDataEntry)
{
MetaDataExtractor extractor = new DefaultPropertyScanningMetaDataExtractor();
String[] targetExpressions = metaDataEntry.getValue(JoinValidation.class).value();
ValidationStrategy validationStrategy;
MetaDataTransformer metaDataTransformer;
Map<String, Object> results = new HashMap<String, Object>();
PropertyDetails propertyDetails;
for (String targetExpression : targetExpressions)
{
propertyDetails = ExtValUtils
.createPropertyDetailsForNewTarget(metaDataEntry, targetExpression);
for (MetaDataEntry entry : extractor.extract(FacesContext.getCurrentInstance(),
propertyDetails).getMetaDataEntries())
{
validationStrategy = ExtValUtils.getValidationStrategyForMetaData(entry.getKey());
metaDataTransformer = ExtValUtils.getMetaDataTransformerForValidationStrategy(validationStrategy);