View Javadoc
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  }