1 package org.pojomatic.annotations; 2 3 import static java.lang.annotation.ElementType.FIELD; 4 import static java.lang.annotation.ElementType.METHOD; 5 6 import java.lang.annotation.Documented; 7 import java.lang.annotation.Retention; 8 import java.lang.annotation.RetentionPolicy; 9 import java.lang.annotation.Target; 10 11 /** 12 * If the annotated property is of type {@code Object}, then Pojomatic should not consider the possibility that it could 13 * be an array. In particular, if a pair of values are both arrays, they will only be considered equal if they are the 14 * same instance. This is primarily intended as a performance improvement in cases where a field of type Object is not 15 * expected to contain array values, as it can avoid calls to 16 * {@link Object#getClass()}.{@link Class#isArray() isArray()} 17 * <p> 18 * If the annotated property is not of type {@code Object}, this annotation has no effect. 19 * 20 * @since 2.0 21 */ 22 @Target({FIELD, METHOD}) 23 @Retention(RetentionPolicy.RUNTIME) 24 @Documented 25 public @interface SkipArrayCheck { 26 27 }