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

javax.jdo.InstanceCallbacks Maven / Gradle / Ivy

Go to download

The Java Data Objects (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.

The newest version!
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 * 
 *     http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License.
 */

/*
 * InstanceCallbacks.java
 *
 */
 
package javax.jdo;

/** A PersistenceCapable class that provides callback methods for life
 * cycle events implements this interface.
 *
 * 

For JDO 2.0, InstanceCallbacks has been refactored to extend * four other interfaces, without changing any of the methods or semantics. * This allows fine-grained control over callbacks, for * example to allow a class to implement the load callback without * implementing any of the other callbacks. For backward compatibility * with JDO 1.0, the InstanceCallbacks interface is preserved. * *

Classes which include non-persistent fields whose values depend * on the values of persistent fields require callbacks on specific * JDO instance life cycle events in order to correctly populate the * values in these fields. * *

The callbacks might also be used if the persistent instances * need to be put into the runtime infrastructure of the application. * For example, a persistent instance might notify other instances * on changes to state. The persistent instance might be in a list of * managed instances. When the persistent instance is made hollow, * it can no longer generate change events, and the persistent * instance should be removed from the list of managed instances. * *

To implement this, the application programmer would implement * jdoPostLoad to put itself into the list of managed * instances, and implement jdoPreClear to remove itself from * the list. With JDO 1.0, the domain class would be declared to implement * InstanceCallbacks. With JDO 2.0, the domain class * would be declared to implement * javax.jdo.listener.LoadCallback and * javax.jdo.listener.ClearCallback. * *

Note that JDO does not manage the state of non-persistent * fields, and when a JDO instance transitions to hollow, JDO clears * the persistent fields. It is the programmer's responsibility to * clear non-persistent fields so that garbage collection of * referred instances can occur. * * @since 1.0 * @version 2.0 */ public interface InstanceCallbacks extends javax.jdo.listener.ClearCallback, javax.jdo.listener.DeleteCallback, javax.jdo.listener.LoadCallback, javax.jdo.listener.StoreCallback { }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy