All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.permazen.change.ObjectCreate Maven / Gradle / Ivy

There is a newer version: 5.1.0
Show newest version

/*
 * Copyright (C) 2015 Archie L. Cobbs. All rights reserved.
 */

package io.permazen.change;

import io.permazen.JObject;
import io.permazen.JTransaction;

/**
 * Change notification that indicates a new object has been created.
 *
 * 

* This type of change notification is never generated by Permazen itself; object creation notifications are instead * delivered to {@link io.permazen.annotation.OnCreate @OnCreate} methods, which do not take any parameters. * This class exists as a convenience for application code that may want to unify handling of * object change and object lifecycle events. * * @param the type of the object that was created */ public class ObjectCreate extends Change { /** * Constructor. * * @param jobj Java model object that was created * @throws IllegalArgumentException if {@code jobj} is null */ public ObjectCreate(T jobj) { super(jobj); } @Override public R visit(ChangeSwitch target) { return target.caseObjectCreate(this); } @Override public void apply(JTransaction jtx, JObject jobj) { jtx.recreate(jobj); } // Object @Override public String toString() { return "ObjectCreate[object=" + this.getObject() + "]"; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy