public boolean isPersistable() { return getObject().persistable() == Persistable.USER_PERSISTABLE; }
public void makePersistent(final NakedObject object, final PersistedObjectAdder adders) { if (object.getResolveState().isPersistent() || object.persistable() == Persistable.TRANSIENT) { return; } if (LOG.isInfoEnabled()) { LOG.info("persist " + object); } // NakedObjects.getObjectLoader().madePersistent(object); // Don't do here - allow EventListener to propogate persistent state object.getSpecification().lifecycleEvent(object, NakedObjectSpecification.SAVING); adders.addPersistedObject(object); object.getSpecification().lifecycleEvent(object, NakedObjectSpecification.SAVED); }
public void makePersistent(final NakedObject object, final PersistedObjectAdder persistor) { if (object.getResolveState().isPersistent() || object.persistable() == Persistable.TRANSIENT) { throw new NotPersistableException("can't make object persistent - either already persistent, or transient only: " + object); } persist(object, persistor); }
/** * Makes a naked object persistent. The specified object should be stored away via this object store's * persistence mechanism, and have an new and unique OID assigned to it (by calling the object's * <code>setOid</code> method). The object, should also be added to the cache as the object is * implicitly 'in use'. * * <p> * If the object has any associations then each of these, where they aren't already persistent, should * also be made persistent by recursively calling this method. * </p> * * <p> * If the object to be persisted is a collection, then each element of that collection, that is not * already persistent, should be made persistent by recursively calling this method. * </p> * */ public void makePersistent(final NakedObject object) { if (isPersistent(object)) { throw new NotPersistableException("Object already persistent: " + object); } if (object.persistable() == Persistable.TRANSIENT) { throw new NotPersistableException("Object must be kept transient: " + object); } NakedObjectSpecification specification = object.getSpecification(); if (Features.isService(specification)) { throw new NotPersistableException("Cannot persist services: " + object); } persistAlgorithm.makePersistent(object, this); }
public void makePersistent(final NakedObject object, final PersistedObjectAdder persistor) { if (object.getResolveState().isPersistent() || object.persistable() == Persistable.TRANSIENT) { LOG.warn("can't make object persistent - either already persistent, or transient only: " + object); return;
public void makePersistent(final NakedObject object, final PersistedObjectAdder persistor) { if (object.getResolveState().isPersistent() || object.persistable() == Persistable.TRANSIENT) { return;
public void makePersistent(final NakedObject object, final PersistedObjectAdder persistor) { if (object.getResolveState().isPersistent() || object.persistable() == Persistable.TRANSIENT) { return;
private void persist(final NakedObject object, final PersistedObjectAdder persistor) { if (object.getResolveState().isTransient() && object.persistable() != Persistable.TRANSIENT) {