/******************************************************************************* * Copyright (c) 1998, 2015 Oracle and/or its affiliates. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 * which accompanies this distribution. * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html * and the Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * Oracle - initial API and implementation from Oracle TopLink ******************************************************************************/ package org.eclipse.persistence.tools.workbench.mappingsmodel.query.relational; import org.eclipse.persistence.tools.workbench.mappingsmodel.MWModel; import org.eclipse.persistence.tools.workbench.mappingsmodel.meta.MWClass; import org.eclipse.persistence.tools.workbench.mappingsmodel.query.MWAbstractQuery; import org.eclipse.persistence.tools.workbench.mappingsmodel.query.MWReadAllQuery; import org.eclipse.persistence.tools.workbench.mappingsmodel.query.MWReadObjectQuery; import org.eclipse.persistence.descriptors.ClassDescriptor; import org.eclipse.persistence.oxm.XMLDescriptor; import org.eclipse.persistence.queries.ObjectLevelReadQuery; import org.eclipse.persistence.queries.ReadObjectQuery; public final class MWRelationalReadObjectQuery extends MWAbstractRelationalReadQuery implements MWReadObjectQuery { // **************** static methods **************** public static XMLDescriptor buildDescriptor() { XMLDescriptor descriptor = new XMLDescriptor(); descriptor.setJavaClass(MWRelationalReadObjectQuery.class); descriptor.getInheritancePolicy().setParentClass(MWAbstractRelationalReadQuery.class); return descriptor; } /** Default constructor - for TopLink use only. */ private MWRelationalReadObjectQuery() { super(); } MWRelationalReadObjectQuery(MWRelationalQueryManager parent, String name) { super(parent, name); } // ******************* Morphing ******************* public String queryType() { return READ_OBJECT_QUERY; } public MWReadAllQuery asReadAllQuery() { getQueryManager().removeQuery(this); MWReadAllQuery newQuery = getQueryManager().addReadAllQuery(getName()); ((MWAbstractQuery) newQuery).initializeFrom((MWReadObjectQuery) this); return newQuery; } public MWReadObjectQuery asReadObjectQuery() { return this; } public MWReportQuery asReportQuery() { getQueryManager().removeQuery(this); MWReportQuery newQuery = ((MWRelationalQueryManager) getQueryManager()).addReportQuery(getName()); newQuery.initializeFrom((MWReadObjectQuery) this); return newQuery; } public MWClass findMethodReturnType(MWClass createMethodReturnType) { return createMethodReturnType; } public void formatSetToEjbql() { //do nothing } public void formatSetToSql() { //do nothing } // **************** Runtime conversion **************** protected ObjectLevelReadQuery buildRuntimeQuery() { return new ReadObjectQuery(); } }