private FilterSource[] determineFilterSources(PluralAssociationAttribute associationAttribute) { AnnotationInstance filtersAnnotation = JandexHelper.getSingleAnnotation( associationAttribute.annotations(), HibernateDotNames.FILTERS); List<FilterSource> filterSourceList = new ArrayList<FilterSource>(); if (filtersAnnotation != null) { AnnotationInstance[] annotationInstances = filtersAnnotation.value().asNestedArray(); for (AnnotationInstance filterAnnotation : annotationInstances) { FilterSource filterSource = new FilterSourceImpl(filterAnnotation, entityClass.getLocalBindingContext()); filterSourceList.add(filterSource); } } AnnotationInstance filterAnnotation = JandexHelper.getSingleAnnotation( associationAttribute.annotations(), HibernateDotNames.FILTER); if (filterAnnotation != null) { FilterSource filterSource = new FilterSourceImpl(filterAnnotation, entityClass.getLocalBindingContext()); filterSourceList.add(filterSource); } if (filterSourceList.isEmpty()) { return null; } else { return filterSourceList.toArray(new FilterSource[filterSourceList.size()]); } }
private static List<RelationalValueSource> createRelationalValueSources( PluralAssociationAttribute attribute) { AnnotationInstance columnAnnotation = JandexHelper.getSingleAnnotation(attribute.annotations(), HibernateDotNames.INDEX_COLUMN); if (columnAnnotation == null) { columnAnnotation = JandexHelper.getSingleAnnotation(attribute.annotations(), JPADotNames.ORDER_COLUMN); } if (columnAnnotation == null) { columnAnnotation = JandexHelper.getSingleAnnotation(attribute.annotations(), JPADotNames.MAP_KEY_COLUMN); } Column indexColumn = new Column(columnAnnotation); return Collections.singletonList((RelationalValueSource) new ColumnSourceImpl(indexColumn)); }