org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of eclipselink Show documentation
Show all versions of eclipselink Show documentation
EclipseLink build based upon Git transaction f2b9fc5
/*
* Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.internal.indirection;
import java.rmi.server.ObjID;
import org.eclipse.persistence.descriptors.ClassDescriptor;
import org.eclipse.persistence.exceptions.ValidationException;
import org.eclipse.persistence.indirection.*;
import org.eclipse.persistence.mappings.*;
import org.eclipse.persistence.internal.sessions.remote.RemoteValueHolder;
import org.eclipse.persistence.internal.sessions.AbstractSession;
import org.eclipse.persistence.internal.sessions.UnitOfWorkImpl;
import org.eclipse.persistence.logging.SessionLog;
/**
* A UnitOfWorkValueHolder is put in a clone object.
* It wraps the value holder in the original object to delay
* cloning the attribute in a unit of work until it is
* needed by the application.
* This value holder is used only in the unit of work.
*
* @author Sati
*/
public abstract class UnitOfWorkValueHolder extends DatabaseValueHolder implements WrappingValueHolder{
/** The value holder in the original object. */
protected transient ValueHolderInterface> wrappedValueHolder;
/** The mapping for the attribute. */
protected transient DatabaseMapping mapping;
/** The value holder stored in the backup copy, should not be transient. */
protected ValueHolderInterface