KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > jts > CosTransactions > LogControlDescriptor


1 /*
2  * The contents of this file are subject to the terms
3  * of the Common Development and Distribution License
4  * (the License). You may not use this file except in
5  * compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * https://glassfish.dev.java.net/public/CDDLv1.0.html or
9  * glassfish/bootstrap/legal/CDDLv1.0.txt.
10  * See the License for the specific language governing
11  * permissions and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL
14  * Header Notice in each file and include the License file
15  * at glassfish/bootstrap/legal/CDDLv1.0.txt.
16  * If applicable, add the following below the CDDL Header,
17  * with the fields enclosed by brackets [] replaced by
18  * you own identifying information:
19  * "Portions Copyrighted [year] [name of copyright owner]"
20  *
21  * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
22  */

23
24 /*
25  * Copyright 2004-2005 Sun Microsystems, Inc. All rights reserved.
26  * Use is subject to license terms.
27  */

28 //----------------------------------------------------------------------------
29
//
30
// Module: LogControlDescriptor.java
31
//
32
// Description: Log control record.
33
//
34
// Product: com.sun.jts.CosTransactions
35
//
36
// Author: Simon Holdsworth
37
//
38
// Date: March, 1997
39
//
40
// Copyright (c): 1995-1997 IBM Corp.
41
//
42
// The source code for this program is not published or otherwise divested
43
// of its trade secrets, irrespective of what has been deposited with the
44
// U.S. Copyright Office.
45
//
46
// This software contains confidential and proprietary information of
47
// IBM Corp.
48
//----------------------------------------------------------------------------
49

50 package com.sun.jts.CosTransactions;
51
52 // Import required classes
53

54 import java.io.*;
55
56 /**A class containing control information relating to an open log file.
57  *
58  * @version 0.01
59  *
60  * @author Simon Holdsworth, IBM Corporation
61  *
62  * @see LogHandle
63 */

64 //----------------------------------------------------------------------------
65
// CHANGE HISTORY
66
//
67
// Version By Change Description
68
// 0.01 SAJH Initial implementation.
69
//------------------------------------------------------------------------------
70

71 class LogControlDescriptor implements Serializable {
72     /**This constant holds the size of the LogControlDescriptor object.
73      */

74     final static int SIZEOF = 3*LogLSN.SIZEOF;
75
76     LogLSN headLSN = new LogLSN();
77     LogLSN tailLSN = new LogLSN();
78     LogLSN nextLSN = new LogLSN();
79
80     /**Default LogControlDescriptor constructor.
81      *
82      * @param
83      *
84      * @return
85      *
86      * @see
87      */

88     LogControlDescriptor() {
89         headLSN = new LogLSN();
90         tailLSN = new LogLSN();
91         nextLSN = new LogLSN();
92     }
93
94     /**Constructs a LogControlDescriptor from the given byte array.
95      *
96      * @param bytes The array of bytes from which the object is to be constructed.
97      * @param index The index in the array where copy is to start.
98      *
99      * @return
100      *
101      * @see
102      */

103     LogControlDescriptor( byte[] bytes,
104                           int index ) {
105         headLSN = new LogLSN(bytes,index); index += LogLSN.SIZEOF;
106         tailLSN = new LogLSN(bytes,index); index += LogLSN.SIZEOF;
107         nextLSN = new LogLSN(bytes,index); index += LogLSN.SIZEOF;
108     }
109
110     /**Makes a byte representation of the LogControlDescriptor.
111      *
112      * @param bytes The array of bytes into which the object is to be copied.
113      * @param index The index in the array where copy is to start.
114      *
115      * @return Number of bytes copied.
116      *
117      * @see
118      */

119     final int toBytes( byte[] bytes,
120                        int index ) {
121         index += headLSN.toBytes(bytes,index);
122         index += tailLSN.toBytes(bytes,index);
123         index += nextLSN.toBytes(bytes,index);
124
125         return SIZEOF;
126     }
127
128     /**This method is called to direct the object to format its state into a String.
129      *
130      * @param
131      *
132      * @return The formatted representation of the object.
133      *
134      * @see
135      */

136     public final String JavaDoc toString() {
137         return "LCD(head="/*#Frozen*/+headLSN+",tail="/*#Frozen*/+tailLSN+",next="/*#Frozen*/+nextLSN+")"/*#Frozen*/;
138     }
139 }
140
Popular Tags