KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > pdfbox > persistence > util > COSObjectKey


1 /**
2  * Copyright (c) 2003-2006, www.pdfbox.org
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  *
8  * 1. Redistributions of source code must retain the above copyright notice,
9  * this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright notice,
11  * this list of conditions and the following disclaimer in the documentation
12  * and/or other materials provided with the distribution.
13  * 3. Neither the name of pdfbox; nor the names of its
14  * contributors may be used to endorse or promote products derived from this
15  * software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20  * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
21  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  *
28  * http://www.pdfbox.org
29  *
30  */

31 package org.pdfbox.persistence.util;
32
33 import org.pdfbox.cos.COSObject;
34
35 /**
36  * Object representing the physical reference to an indirect pdf object.
37  *
38  * @author Michael Traut
39  * @version $Revision: 1.5 $
40  */

41 public class COSObjectKey
42 {
43     private long number;
44     private long generation;
45
46     /**
47      * PDFObjectKey constructor comment.
48      *
49      * @param object The object that this key will represent.
50      */

51     public COSObjectKey(COSObject object)
52     {
53         this( object.getObjectNumber().longValue(), object.getGenerationNumber().longValue() );
54     }
55     
56     /**
57      * PDFObjectKey constructor comment.
58      *
59      * @param num The object number.
60      * @param gen The object generation number.
61      */

62     public COSObjectKey(long num, long gen)
63     {
64         setNumber(num);
65         setGeneration(gen);
66     }
67
68     /**
69      * {@inheritDoc}
70      */

71     public boolean equals(Object JavaDoc obj)
72     {
73         return (obj instanceof COSObjectKey) &&
74                ((COSObjectKey)obj).getNumber() == getNumber() &&
75                ((COSObjectKey)obj).getGeneration() == getGeneration();
76     }
77
78     /**
79      * This will get the generation number.
80      *
81      * @return The objects generation number.
82      */

83     public long getGeneration()
84     {
85         return generation;
86     }
87     /**
88      * This will get the objects id.
89      *
90      * @return The object's id.
91      */

92     public long getNumber()
93     {
94         return number;
95     }
96
97     /**
98      * {@inheritDoc}
99      */

100     public int hashCode()
101     {
102         return (int)(number + generation);
103     }
104     /**
105      * This will set the objects generation number.
106      *
107      * @param newGeneration The objects generation number.
108      */

109     public void setGeneration(long newGeneration)
110     {
111         generation = newGeneration;
112     }
113     /**
114      * This will set the objects id.
115      *
116      * @param newNumber The objects number.
117      */

118     public void setNumber(long newNumber)
119     {
120         number = newNumber;
121     }
122
123     /**
124      * {@inheritDoc}
125      */

126     public String JavaDoc toString()
127     {
128         return "" + getNumber() + " " + getGeneration() + " R";
129     }
130 }
Popular Tags