]> review.fuel-infra Code Review - packages/trusty/mysql-wsrep-5.6.git/blob
ba80e0812aaacf0f7bac979621a8c1178ef3614b
[packages/trusty/mysql-wsrep-5.6.git] /
1 /*
2    Copyright 2010 Sun Microsystems, Inc.
3    All rights reserved. Use is subject to license terms.
4
5    This program is free software; you can redistribute it and/or modify
6    it under the terms of the GNU General Public License as published by
7    the Free Software Foundation; version 2 of the License.
8
9    This program is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13
14    You should have received a copy of the GNU General Public License
15    along with this program; if not, write to the Free Software
16    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
17 */
18
19 package com.mysql.clusterj.annotation;
20
21 import java.lang.annotation.ElementType;
22 import java.lang.annotation.Retention;
23 import java.lang.annotation.RetentionPolicy;
24 import java.lang.annotation.Target;
25
26 /**
27  * Annotation for defining the persistence of a member.
28  */
29 @Target({ElementType.FIELD, ElementType.METHOD}) 
30 @Retention(RetentionPolicy.RUNTIME)
31 public @interface Persistent
32 {
33
34     /** Behavior when this member contains a null value. 
35      * @return the behavior when this member contains a null value
36      */
37     NullValue nullValue() default NullValue.NONE;
38
39     /** Whether this member is part of the primary key for
40      * the table. This is equivalent to specifying @PrimaryKey as 
41      * a separate annotation on the member.
42      * @return whether this member is part of the primary key
43      */
44     String primaryKey() default "";
45
46     /** Column name where the values are stored for this member. 
47      * @return the name of the column
48      */
49     String column() default "";
50
51     /** Non-standard extensions for this member. 
52      * @return the non-standard extensions
53      */
54     Extension[] extensions() default {};
55 }