1/*- 2 * See the file LICENSE for redistribution information. 3 * 4 * Copyright (c) 2002-2009 Oracle. All rights reserved. 5 * 6 * $Id$ 7 */ 8 9package com.sleepycat.persist.model; 10 11import static java.lang.annotation.ElementType.TYPE; 12import static java.lang.annotation.RetentionPolicy.RUNTIME; 13 14import java.lang.annotation.Documented; 15import java.lang.annotation.Retention; 16import java.lang.annotation.Target; 17 18/** 19 * Identifies a persistent class that is not an {@link Entity} class or a 20 * {@link <a href="Entity.html#simpleTypes">simple type</a>}. 21 * 22 * @author Mark Hayes 23 */ 24@Documented @Retention(RUNTIME) @Target(TYPE) 25public @interface Persistent { 26 27 /** 28 * Identifies a new version of a class when an incompatible class change 29 * has been made. 30 * 31 * @see Entity#version 32 */ 33 int version() default 0; 34 35 /** 36 * Specifies the class that is proxied by this {@link PersistentProxy} 37 * instance. 38 * 39 * @see PersistentProxy 40 */ 41 Class proxyFor() default void.class; 42} 43