blob: 43fa8e2a737d2a47b56d1752da199add6fa685e7 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2007, 2009 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.core.internal.jpa1.context.orm;
import org.eclipse.jpt.core.context.NamedNativeQuery;
import org.eclipse.jpt.core.context.XmlContextNode;
import org.eclipse.jpt.core.context.orm.OrmNamedNativeQuery;
import org.eclipse.jpt.core.internal.context.orm.AbstractOrmQuery;
import org.eclipse.jpt.core.resource.orm.XmlNamedNativeQuery;
public class GenericOrmNamedNativeQuery extends AbstractOrmQuery<XmlNamedNativeQuery>
implements OrmNamedNativeQuery
{
protected String resultClass;
protected String resultSetMapping;
public GenericOrmNamedNativeQuery(XmlContextNode parent, XmlNamedNativeQuery resourceQuery) {
super(parent, resourceQuery);
}
public char getResultClassEnclosingTypeSeparator() {
return '$';
}
public String getResultClass() {
return this.resultClass;
}
public void setResultClass(String newResultClass) {
String oldResultClass = this.resultClass;
this.resultClass = newResultClass;
getResourceQuery().setResultClass(newResultClass);
firePropertyChanged(NamedNativeQuery.RESULT_CLASS_PROPERTY, oldResultClass, newResultClass);
}
public String getResultSetMapping() {
return this.resultSetMapping;
}
public void setResultSetMapping(String newResultSetMapping) {
String oldResultSetMapping = this.resultSetMapping;
this.resultSetMapping = newResultSetMapping;
getResourceQuery().setResultSetMapping(newResultSetMapping);
firePropertyChanged(NamedNativeQuery.RESULT_SET_MAPPING_PROPERTY, oldResultSetMapping, newResultSetMapping);
}
@Override
protected void initialize(XmlNamedNativeQuery resourceQuery) {
super.initialize(resourceQuery);
this.resultClass = resourceQuery.getResultClass();
this.resultSetMapping = resourceQuery.getResultSetMapping();
}
@Override
public void update(XmlNamedNativeQuery resourceQuery) {
super.update(resourceQuery);
this.setResultClass(resourceQuery.getResultClass());
this.setResultSetMapping(resourceQuery.getResultSetMapping());
}
}