/******************************************************************************* * Copyright (c) 2010, 2011 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. * * Contributors: * Oracle - initial API and implementation ******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.internal.context.java; import org.eclipse.jpt.common.utility.internal.iterables.CompositeIterable; import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMappingDefinition; import org.eclipse.jpt.jpa.core.internal.context.java.JavaAttributeMappingDefinitionWrapper; import org.eclipse.jpt.jpa.core.internal.jpa2.context.java.JavaManyToManyMappingDefinition2_0; public class EclipseLinkJavaManyToManyMappingDefinition2_0 extends JavaAttributeMappingDefinitionWrapper { private static final JavaAttributeMappingDefinition DELEGATE = JavaManyToManyMappingDefinition2_0.instance(); // singleton private static final JavaAttributeMappingDefinition INSTANCE = new EclipseLinkJavaManyToManyMappingDefinition2_0(); /** * Return the singleton. */ public static JavaAttributeMappingDefinition instance() { return INSTANCE; } /** * Enforce singleton usage */ private EclipseLinkJavaManyToManyMappingDefinition2_0() { super(); } @Override protected JavaAttributeMappingDefinition getDelegate() { return DELEGATE; } @Override public Iterable getSupportingAnnotationNames() { return COMBINED_SUPPORTING_ANNOTATION_NAMES; } @SuppressWarnings("unchecked") private static final Iterable COMBINED_SUPPORTING_ANNOTATION_NAMES = new CompositeIterable( DELEGATE.getSupportingAnnotationNames(), EclipseLinkJavaManyToManyMappingDefinition.ECLIPSE_LINK_SUPPORTING_ANNOTATION_NAMES ); }