package org.ovirt.engine.core.common.businessentities; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * When a field is annotated with this annotation, it is possible to export its value using OVF in such a way that the * field value will not be taken into consideration when import takes place. It is also possible to specify using * logOption whether to report the export value to the audit log during import * */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface OvfExportOnlyField { public enum ExportOption { DONT_EXPORT, // Dont log fields annotated with the annotation, just // write to OVF ALWAYS_EXPORT, // ALways log fields annotated with the annotation EXPORT_NON_IGNORED_VALUES; // Log fields annotated with the annotation, // only if their value differs from the // value stated at "valueToIgnore" }; /** * Name of field as will be written in OVF */ String name() default ""; /** * String representation of value to ignore for logging */ String valueToIgnore() default ""; ExportOption exportOption() default ExportOption.EXPORT_NON_IGNORED_VALUES; }