001 package org.bukkit.configuration.serialization; 002 003 import java.lang.annotation.ElementType; 004 import java.lang.annotation.Retention; 005 import java.lang.annotation.RetentionPolicy; 006 import java.lang.annotation.Target; 007 008 /** 009 * Applies to a {@link ConfigurationSerializable} that will delegate all 010 * deserialization to another {@link ConfigurationSerializable}. 011 */ 012 @Retention(RetentionPolicy.RUNTIME) 013 @Target(ElementType.TYPE) 014 public @interface DelegateDeserialization { 015 /** 016 * Which class should be used as a delegate for this classes 017 * deserialization 018 * 019 * @return Delegate class 020 */ 021 public Class<? extends ConfigurationSerializable> value(); 022 }