diff --git a/Frameworks/Core/ERExtensions/Sources/er/extensions/partials/ERXPartial.java b/Frameworks/Core/ERExtensions/Sources/er/extensions/partials/ERXPartial.java index ee987c57921..4ec365d63fe 100644 --- a/Frameworks/Core/ERExtensions/Sources/er/extensions/partials/ERXPartial.java +++ b/Frameworks/Core/ERExtensions/Sources/er/extensions/partials/ERXPartial.java @@ -368,4 +368,15 @@ public Object validateValueForKey(Object value, String key) throws NSValidation. throw exception.exceptionWithObjectAndKey(this, key); } } + + /** + * Delegated from the base entity. A partial entity can override this method + * to perform object initialisation. It will be called when the base + * entity's {@code init()} method is called. + * + * @param editingContext + * this object's {@link EOEditingContext} + */ + protected void init(EOEditingContext editingContext) { + } } diff --git a/Frameworks/Core/ERExtensions/Sources/er/extensions/partials/ERXPartialGenericRecord.java b/Frameworks/Core/ERExtensions/Sources/er/extensions/partials/ERXPartialGenericRecord.java index 8dcfe5bf568..d296ec21573 100644 --- a/Frameworks/Core/ERExtensions/Sources/er/extensions/partials/ERXPartialGenericRecord.java +++ b/Frameworks/Core/ERExtensions/Sources/er/extensions/partials/ERXPartialGenericRecord.java @@ -180,6 +180,15 @@ public void awakeFromInsertion(EOEditingContext editingContext) { } } + @Override + protected void init(EOEditingContext editingContext) { + super.init(editingContext); + // Call init() on all partial entities + for (ERXPartial partial : _partials()) { + partial.init(editingContext); + } + } + @Override public void awakeFromFetch(EOEditingContext editingContext) { super.awakeFromFetch(editingContext);