com.tangosol.io.pof.schema.annotation.PortableArray Maven / Gradle / Ivy
Show all versions of coherence Show documentation
/*
* Copyright (c) 2000, 2020, Oracle and/or its affiliates.
*
* Licensed under the Universal Permissive License v 1.0 as shown at
* http://oss.oracle.com/licenses/upl.
*/
package com.tangosol.io.pof.schema.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Marks an array field in a {@link PortableType} as serializable.
*
* @author as 2013.04.23
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface PortableArray
{
/**
* Type version this property was introduced in.
*
* @return type version this property was introduced in
*/
int since() default 0;
/**
* The name that can be used to reference property.
*
* If not specified it will default to field name.
*
* @return the name that can be used to reference property
*/
String name() default "";
/**
* Property order.
*
* If not specified, it will be determined based on the combination of the
* type version property was introduced in and the alphabetical order of
* property names within a type version.
*
* @return property order
*/
int order() default Integer.MAX_VALUE;
/**
* The class of the array elements.
*
* If specified, it will be used to write the array into a POF stream using
* uniform encoding.
*
* @return element class
*/
Class> elementClass() default Object.class;
}