public class EclipseLinkJavaVersionMappingDefinition2_0
    extends JavaAttributeMappingDefinitionWrapper {
  private static final JavaAttributeMappingDefinition DELEGATE =
      JavaVersionMappingDefinition2_0.instance();

  // singleton
  private static final JavaAttributeMappingDefinition INSTANCE =
      new EclipseLinkJavaVersionMappingDefinition2_0();

  /** Return the singleton. */
  public static JavaAttributeMappingDefinition instance() {
    return INSTANCE;
  }

  /** Enforce singleton usage */
  private EclipseLinkJavaVersionMappingDefinition2_0() {
    super();
  }

  @Override
  protected JavaAttributeMappingDefinition getDelegate() {
    return DELEGATE;
  }

  @Override
  public Iterable<String> getSupportingAnnotationNames() {
    return COMBINED_SUPPORTING_ANNOTATION_NAMES;
  }

  @SuppressWarnings("unchecked")
  private static final Iterable<String> COMBINED_SUPPORTING_ANNOTATION_NAMES =
      IterableTools.concatenate(
          DELEGATE.getSupportingAnnotationNames(),
          EclipseLinkJavaBasicMappingDefinition.ECLIPSE_LINK_SUPPORTING_ANNOTATION_NAMES);
}
public class EclipseLinkJavaOneToManyMappingDefinition2_0
    extends JavaAttributeMappingDefinitionWrapper implements DefaultJavaAttributeMappingDefinition {
  private static final JavaAttributeMappingDefinition DELEGATE =
      JavaOneToManyMappingDefinition2_0.instance();

  // singleton
  private static final DefaultJavaAttributeMappingDefinition INSTANCE =
      new EclipseLinkJavaOneToManyMappingDefinition2_0();

  /** Return the singleton. */
  public static DefaultJavaAttributeMappingDefinition instance() {
    return INSTANCE;
  }

  /** Enforce singleton usage */
  private EclipseLinkJavaOneToManyMappingDefinition2_0() {
    super();
  }

  @Override
  protected JavaAttributeMappingDefinition getDelegate() {
    return DELEGATE;
  }

  @Override
  public Iterable<String> getSupportingAnnotationNames() {
    return COMBINED_SUPPORTING_ANNOTATION_NAMES;
  }

  @SuppressWarnings("unchecked")
  private static final Iterable<String> COMBINED_SUPPORTING_ANNOTATION_NAMES =
      IterableTools.concatenate(
          DELEGATE.getSupportingAnnotationNames(),
          EclipseLinkJavaOneToManyMappingDefinition.ECLIPSE_LINK_SUPPORTING_ANNOTATION_NAMES);

  public boolean isDefault(JavaSpecifiedPersistentAttribute persistentAttribute) {
    return EclipseLinkJavaOneToManyMappingDefinition.instance().isDefault(persistentAttribute);
  }
}