WarpPI/src/com/rits/cloning/Immutable.java
2016-09-02 20:32:37 +02:00

28 lines
683 B
Java

package com.rits.cloning;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
/**
* marks the specific class as immutable and the cloner avoids cloning it
*
* @author kostantinos.kougios
*
* 24 Mar 2011
*/
@Target(TYPE)
@Retention(RUNTIME)
public @interface Immutable {
/**
* by default all subclasses of the @Immutable class are not immutable. This
* can override it.
*
* @return true for subclasses of @Immutable class to be regarded as
* immutable from the cloner
*/
boolean subClass() default false;
}