Annotation Type SerializableAs


@Retention(RUNTIME) @Target(TYPE) public @interface SerializableAs
Represents an "alias" that a ConfigurationSerializable may be stored as. If this is not present on a ConfigurationSerializable class, it will use the fully qualified name of the class.

This value will be stored in the configuration so that the configuration deserialization can determine what type it is.

Using this annotation on any other class than a ConfigurationSerializable will have no effect.

See Also:
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    This is the name your class will be stored and retrieved as.
  • Element Details

    • value

      @NotNull String value
      This is the name your class will be stored and retrieved as.

      This name MUST be unique. We recommend using names such as "MyPluginThing" instead of "Thing".

      Returns:
      Name to serialize the class as.