public PropertyAuditingData(String name, String accessType, ModificationStore store, RelationTargetAuditMode relationTargetAuditMode, String auditMappedBy, String positionMappedBy, bool forceInsertable) { this.Name = name; this.BeanName = name; this.AccessType = accessType; this.Store = store; this.relationTargetAuditMode = relationTargetAuditMode; this.AuditMappedBy = auditMappedBy; this.PositionMappedBy = positionMappedBy; this.ForceInsertable = forceInsertable; }
/** * Reads the id mapping data of a referenced entity. * @param entityName Name of the entity which is the source of the relation. * @param referencedEntityName Name of the entity which is the target of the relation. * @param propertyAuditingData Auditing data of the property that is the source of the relation. * @param allowNotAuditedTarget Are not-audited target entities allowed. * @throws MappingException If a relation from an audited to a non-audited entity is detected, which is not * mapped using {@link RelationTargetAuditMode#NOT_AUDITED}. * @return The id mapping data of the related entity. */ public IdMappingData GetReferencedIdMappingData(String entityName, String referencedEntityName, PropertyAuditingData propertyAuditingData, bool allowNotAuditedTarget) { EntityConfiguration configuration; if (EntitiesConfigurations.Keys.Contains(referencedEntityName)) configuration = EntitiesConfigurations[referencedEntityName]; else { RelationTargetAuditMode relationTargetAuditMode = propertyAuditingData.getRelationTargetAuditMode(); if (!NotAuditedEntitiesConfigurations.Keys.Contains(referencedEntityName) || !allowNotAuditedTarget || !RelationTargetAuditMode.NOT_AUDITED.Equals(relationTargetAuditMode)) { throw new MappingException("An audited relation from " + entityName + "." + propertyAuditingData.Name + " to a not audited entity " + referencedEntityName + "!" + (allowNotAuditedTarget ? " Such mapping is possible, but has to be explicitly defined using [Audited(TargetAuditMode = RelationTargetAuditMode.NOT_AUDITED)]." : "")); } else configuration = NotAuditedEntitiesConfigurations[referencedEntityName]; } return configuration.IdMappingData; }
/** * Set the relationTargetAuditMode property value. * * @param relationTargetAuditMode the relationTargetAuditMode to set */ public void setRelationTargetAuditMode(RelationTargetAuditMode relationTargetAuditMode) { this.relationTargetAuditMode = relationTargetAuditMode; }