@Override public boolean isNullable() { if(isCircular() && !isBidirectional()) { return true; } else { return super.isNullable(); } } }
@Override public boolean isOwningSide() { return super.isOwningSide() || isForeignKeyInChild(); } }
public void setInversePropertyName(String inversePropertyName) { setReferencedPropertyName(inversePropertyName); this.inversePropertyName = inversePropertyName; } }
String handleAssociationQuery(Association<?> association, List<Criterion> criteriaList, String alias) { String associationName = calculatePropertyName(association.getName()); return getOrCreateAlias(associationName, alias).alias; }
@Override public PersistentEntity getIndexedEntity() { return association.getAssociatedEntity(); } };
/** * Checks whether a property is a unidirectional non-circular one-to-many * * @param property The property to check * @return true if it is unidirectional and a one-to-many */ protected boolean isUnidirectionalOneToMany(PersistentProperty property) { return ((property instanceof org.grails.datastore.mapping.model.types.OneToMany) && !((Association)property).isBidirectional()); }
protected String getAssociationDescription(Association grailsProperty) { String assType = "unknown"; if (grailsProperty instanceof ManyToMany) { assType = "many-to-many"; } else if (grailsProperty instanceof org.grails.datastore.mapping.model.types.OneToMany) { assType = "one-to-many"; } else if (grailsProperty instanceof org.grails.datastore.mapping.model.types.OneToOne) { assType = "one-to-one"; } else if (grailsProperty instanceof org.grails.datastore.mapping.model.types.ManyToOne) { assType = "many-to-one"; } else if (grailsProperty.isEmbedded()) { assType = "embedded"; } return assType; }
protected void initializeConverters(MappingContext mappingContext) { final ConverterRegistry conversionService = mappingContext.getConverterRegistry(); BasicTypeConverterRegistrar registrar = new BasicTypeConverterRegistrar(); registrar.register(conversionService); }
/** * @return Whether the association is a List */ public boolean isList() { return List.class.isAssignableFrom(getType()); }
/** * Returns true if the this association cascade for the given cascade operation * * @param cascadeOperation The cascadeOperation * @return True if it does */ public boolean doesCascade(CascadeType cascadeOperation) { return doesCascade(new CascadeType[]{cascadeOperation}); }
protected boolean isForeignKeyInChild(Association association) { return association instanceof ToOne && ((ToOne) association).isForeignKeyInChild() || association instanceof ToMany; }
public Basic(PersistentEntity owner, MappingContext context, PropertyDescriptor descriptor) { super(owner, context, descriptor); initializeComponentType(); }
protected Set<CascadeType> getCascadeOperations() { if (cascadeOperations == null) { buildCascadeOperations(); } return cascadeOperations; }
private boolean isHasOne(Association association) { return association instanceof org.grails.datastore.mapping.model.types.OneToOne && ((org.grails.datastore.mapping.model.types.OneToOne)association).isForeignKeyInChild(); }
public String getTypeName(ToMany property) { return binder.getTypeName(property, binder.getPropertyConfig(property), getMapping(property.getOwner())); } }
private CriteriaAndAlias getCriteriaAndAlias(Association<?> association) { String associationName = calculatePropertyName(association.getName()); String newAlias = generateAlias(associationName); return getOrCreateAlias(associationName, newAlias); }
protected boolean isBidirectionalManyToOne(PersistentProperty currentGrailsProp) { return ((currentGrailsProp instanceof org.grails.datastore.mapping.model.types.ManyToOne) && ((Association)currentGrailsProp).isBidirectional()); }
public Basic(PersistentEntity owner, MappingContext context, String name, Class type) { super(owner, context, name, type); initializeComponentType(); }
protected CriteriaAndAlias getCriteriaAndAlias(Association<?> association) { String associationName = calculatePropertyName(association.getName()); String newAlias = generateAlias(associationName); return getOrCreateAlias(associationName, newAlias); }