/******************************************************************************* * Copyright (c) 2009, 2010 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.eclipselink.core.internal.resource.java.binary; import org.eclipse.jdt.core.IAnnotation; import org.eclipse.jdt.core.dom.CompilationUnit; import org.eclipse.jpt.core.internal.resource.java.binary.BinaryAnnotation; import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType; import org.eclipse.jpt.core.utility.TextRange; import org.eclipse.jpt.eclipselink.core.resource.java.EclipseLinkCustomizerAnnotation; import org.eclipse.jpt.eclipselink.core.resource.java.EclipseLink; /** * org.eclipse.persistence.annotations.Customizer */ public final class BinaryEclipseLinkCustomizerAnnotation extends BinaryAnnotation implements EclipseLinkCustomizerAnnotation { private String value; public BinaryEclipseLinkCustomizerAnnotation(JavaResourcePersistentType parent, IAnnotation jdtAnnotation) { super(parent, jdtAnnotation); this.value = this.buildValue(); } public String getAnnotationName() { return ANNOTATION_NAME; } @Override public void update() { super.update(); this.setValue_(this.buildValue()); } // ********** CustomizerAnnotation implementation ********** // ***** value public String getValue() { return this.value; } public void setValue(String value) { throw new UnsupportedOperationException(); } private void setValue_(String value) { String old = this.value; this.value = value; this.firePropertyChanged(VALUE_PROPERTY, old, value); } // ***** fully-qualified customizer class name public String getFullyQualifiedCustomizerClassName() { return this.value; } private String buildValue() { return (String) this.getJdtMemberValue(EclipseLink.CUSTOMIZER__VALUE); } public TextRange getValueTextRange(CompilationUnit astRoot) { throw new UnsupportedOperationException(); } public boolean customizerClassImplementsInterface(String interfaceName, CompilationUnit astRoot) { throw new UnsupportedOperationException(); } }