/* This file is part of the source code for 3D-XplorMath-J, Version 1.0 (January 2008).
* Copyright (c) 2008 The 3D-XplorMath Consortium (http://3d-xplormath.org).
* This source code is released under a BSD License, which allows redistribution
* in source and binary form, with or without modification, provided copyright
* and license information are included, and with no warranty or guarantee of
* any kind. For details, see http://3d-xplormath.org/j/source/BSDLicense.txt
*/
package vmm.core;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* The annotation "@VMMSave" can be added to a declaration of a property
* variable in Exhibit, View, Transform, or Declaration class to indicate that
* the value of the property is to be saved by {@link vmm.core.SaveAndRestore}
* when it outputs an object that belongs to the class to a file. Here,
* a "property" variable means an instance variable for which there exist getter and
* setter methods with the standard names ("getXxxx" and "setXxxx" the
* name of the vaiable is "xxxx"). (The alternative to doing this is
* to call {@link vmm.core.SaveAndRestore#addProperty(Object, String, org.w3c.dom.Document, org.w3c.dom.Element)}
* in an addExtraXML() method in the class.
* See {@link vmm.core.Exhibit#addExtraXML(org.w3c.dom.Document, org.w3c.dom.Element)}.)
*
In addition, "@VMMSave" can be added to the declaration of a subclass * of Decoration to indicate that all decorations of that type, when they * have been added to a View or Exhibit, are to be saved automatically * by SaveAndRestore when the View or Exhibit is saved. */ @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.FIELD, ElementType.TYPE }) public @interface VMMSave { }