/** * @return Whether the association is a List */ public boolean isList() { return List.class.isAssignableFrom(getType()); }
protected boolean isBidirectionalOneToManyMap(Association property) { return Map.class.isAssignableFrom(property.getType()) && property.isBidirectional(); }
protected boolean isBidirectionalManyToOneWithListMapping(PersistentProperty grailsProperty, Property prop) { if(grailsProperty instanceof Association) { Association association = (Association) grailsProperty; Association otherSide = association.getInverseSide(); return association.isBidirectional() && otherSide != null && prop.getValue() instanceof ManyToOne && List.class.isAssignableFrom(otherSide.getType()); } return false; }
if (List.class.isAssignableFrom(association.getType())) { ea.setPropertyNoConversion(association.getName(), new PersistentList(keys, association.getAssociatedEntity().getJavaClass(), session)); else if (Set.class.isAssignableFrom(association.getType())) { ea.setPropertyNoConversion(association.getName(), new PersistentSet(keys, association.getAssociatedEntity().getJavaClass(), session)); nativeKey = convertIdIfNecessary(getPersistentEntity(), nativeKey ); if (isLazy) { if (List.class.isAssignableFrom(association.getType())) { ea.setPropertyNoConversion(association.getName(), new PersistentList(nativeKey, session, indexer)); else if (SortedSet.class.isAssignableFrom(association.getType())) { ea.setPropertyNoConversion(association.getName(), new PersistentSortedSet(nativeKey, session, indexer)); else if (Set.class.isAssignableFrom(association.getType())) { ea.setPropertyNoConversion(association.getName(), new PersistentSet(nativeKey, session, indexer));
Collection existingValues = (Collection) inverseAccess.getProperty(inverse.getName()); if (existingValues == null) { existingValues = MappingUtils.createConcreteCollection(inverse.getType()); inverseAccess.setProperty(inverse.getName(), existingValues);