/******************************************************************************* * Copyright (c) 2012 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is 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 * * Contributor: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.hibernate.jpt.core.internal.resource.java; import org.eclipse.jdt.core.IAnnotation; import org.eclipse.jpt.common.core.internal.resource.java.source.SourceNamedAnnotation; import org.eclipse.jpt.common.core.resource.java.Annotation; import org.eclipse.jpt.common.core.resource.java.AnnotationDefinition; import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement; import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement; import org.jboss.tools.hibernate.jpt.core.internal.context.basic.Hibernate; /** * @author Dmitry Geraskov * */ public class TypeDefsAnnotationDefinition implements AnnotationDefinition { // singleton private static final AnnotationDefinition INSTANCE = new TypeDefsAnnotationDefinition(); /** * Return the singleton. */ public static AnnotationDefinition instance() { return INSTANCE; } /** * Ensure single instance. */ private TypeDefsAnnotationDefinition() { super(); } @Override public String getAnnotationName() { return Hibernate.TYPE_DEFS; } @Override public Annotation buildAnnotation(JavaResourceAnnotatedElement parent, AnnotatedElement annotatedElement) { return new SourceNamedAnnotation(parent, annotatedElement, getAnnotationName()); } @Override public Annotation buildNullAnnotation(JavaResourceAnnotatedElement parent) { throw new UnsupportedOperationException(); } @Override public Annotation buildAnnotation(JavaResourceAnnotatedElement parent, IAnnotation jdtAnnotation) { throw new UnsupportedOperationException(); } }