KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sleepycat > persist > model > FieldMetadata


1 /*-
2  * See the file LICENSE for redistribution information.
3  *
4  * Copyright (c) 2002,2006 Oracle. All rights reserved.
5  *
6  * $Id: FieldMetadata.java,v 1.10 2006/12/05 01:35:37 mark Exp $
7  */

8
9 package com.sleepycat.persist.model;
10
11 import java.io.Serializable JavaDoc;
12
13 /**
14  * The metadata for a key field. This class defines common properties for
15  * singular and composite key fields.
16  *
17  * <p>{@code FieldMetadata} objects are thread-safe. Multiple threads may
18  * safely call the methods of a shared {@code FieldMetadata} object.</p>
19  *
20  * @author Mark Hayes
21  */

22 public class FieldMetadata implements Serializable JavaDoc {
23
24     private static final long serialVersionUID = -9037650229184174279L;
25
26     private String JavaDoc name;
27     private String JavaDoc className;
28     private String JavaDoc declaringClassName;
29
30     /**
31      * Used by an {@code EntityModel} to construct field metadata.
32      */

33     public FieldMetadata(String JavaDoc name,
34                          String JavaDoc className,
35                          String JavaDoc declaringClassName) {
36         this.name = name;
37         this.className = className;
38         this.declaringClassName = declaringClassName;
39     }
40
41     /**
42      * Returns the field name.
43      */

44     public String JavaDoc getName() {
45         return name;
46     }
47
48     /**
49      * Returns the class name of the field type.
50      */

51     public String JavaDoc getClassName() {
52         return className;
53     }
54
55     /**
56      * Returns the name of the class where the field is declared.
57      */

58     public String JavaDoc getDeclaringClassName() {
59         return declaringClassName;
60     }
61
62     @Override JavaDoc
63     public boolean equals(Object JavaDoc other) {
64         if (other instanceof FieldMetadata) {
65             FieldMetadata o = (FieldMetadata) other;
66             return ClassMetadata.nullOrEqual(name, o.name) &&
67                    ClassMetadata.nullOrEqual(className, o.className) &&
68                    ClassMetadata.nullOrEqual(declaringClassName,
69                                              o.declaringClassName);
70         } else {
71             return false;
72         }
73     }
74
75     @Override JavaDoc
76     public int hashCode() {
77         return ClassMetadata.hashCode(name) +
78                ClassMetadata.hashCode(className) +
79                ClassMetadata.hashCode(declaringClassName);
80     }
81 }
82
Popular Tags