KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > buchuki > ensmer > prevayler > queries > AddObjectTransaction


1 /*
2  * Copyright 2004 Dusty Phillips
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 package com.buchuki.ensmer.prevayler.queries;
17
18 import java.util.Date JavaDoc;
19 import com.buchuki.ensmer.prevayler.*;
20 import org.prevayler.*;
21
22 /**
23  * Query to notify that a new object has been created. An identifier and class
24  * need to be serialized. Other data in the object can be serialized directly,
25  *
26  * @author Dusty Phillips [dusty@buchuki.com]
27  */

28 public class AddObjectTransaction implements Transaction {
29
30     /**
31      * Give it a SerialVersionUID so it can be reinstantiated by later versions
32      * of the class
33      */

34     static final long serialVersionUID = 20050328L;
35
36     /**
37      * Create an AddObjectTransaction with a reference to the id to be added and
38      * the class of the object being added
39      *
40      * @param id the id for the new object
41      * @param backendClass Description of the Parameter
42      */

43     public AddObjectTransaction(Long JavaDoc id, Class JavaDoc backendClass) {
44         this.id = id;
45         this.backendClass = backendClass;
46     }
47
48     /**
49      * Execute the transaction
50      *
51      * @param system the EnsmerPrevayler to operate on
52      * @param ignored the time at which the transaction was executed; ignored in
53      * this case
54      */

55     public void executeOn(Object JavaDoc system, Date JavaDoc ignored) {
56         ((EnsmerPrevayler) system).getObjectPrevayler().addObject(id, backendClass);
57     }
58
59     /**
60      * The ObjectID to serialize
61      */

62     private Long JavaDoc id;
63
64     /**
65      * The class of the backend for that id
66      */

67     private Class JavaDoc backendClass;
68 }
69
70
Popular Tags