/** * $Id: ReflectTransientClassFields.java 23 2008-10-02 16:00:30Z azeckoski $ * $URL: http://reflectutils.googlecode.com/svn/trunk/src/main/java/org/azeckoski/reflectutils/annotations/ReflectTransientClassFields.java $ * ReflectTransientClassFields.java - genericdao - Sep 21, 2008 12:45:51 PM - azeckoski ************************************************************************** * Copyright (c) 2008 Aaron Zeckoski * Licensed under the Apache License, Version 2.0 * * A copy of the Apache License has been included in this * distribution and is available at: http://www.apache.org/licenses/LICENSE-2.0.txt * * Aaron Zeckoski (azeckoski @ gmail.com) (aaronz @ vt.edu) (aaron @ caret.cam.ac.uk) */ package org.azeckoski.reflectutils.annotations; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Indicate fields on a class which should be marked as transient <br/> * This is primarily for indicating fields as transient in classes * which you are extending or constant fields in interfaces <br/> * For example: <br/> * Given a class with 3 String fields: name, email, phone <br/> * Adding the annotation like so to the class will cause the phone field to marked as transient for field operations: * <pre> * @ReflectTransientClassFields("phone") * public class Person { * String name; * String email; * String phone; * ... * } * </pre> * And this annotation would cause the email and phone fields to be marked as transient: * <pre> * @ReflectTransientClassFields({"phone","email"}) * public class Person { * String name; * String email; * String phone; * ... * } * </pre> * * @author Aaron Zeckoski (azeckoski @ gmail.com) */ @Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface ReflectTransientClassFields { String[] value(); }