All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.persistence.jpa.jpql.tools.model.EclipseLinkActualJPQLQueryFormatter Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (c) 2006, 2020 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 v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0,
 * or the Eclipse Distribution License v. 1.0 which is available at
 * http://www.eclipse.org/org/documents/edl-v10.php.
 *
 * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
 */

// Contributors:
//     Oracle - initial API and implementation
//
package org.eclipse.persistence.jpa.jpql.tools.model;

import org.eclipse.persistence.jpa.jpql.tools.model.query.EclipseLinkStateObjectVisitor;

/**
 * This {@link IJPQLQueryFormatter} is used to generate a string representation of a {@link
 * org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject StateObject} based on how it was parsed,
 * which means this formatter can only be used when the {@link
 * org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject StateObject} was created by parsing a
 * JPQL query because it needs to retrieve parsing information from the corresponding {@link
 * org.eclipse.persistence.jpa.jpql.parser.Expression Expression}.
 * 

* This version adds support for EclipseLink extension. *

* It is possible to partially match the JPQL query that was parsed, the value of the exactMatch * will determine whether the string representation of any given {@link * org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject StateObject} should reflect the exact * string that was parsed. * true will use every bit of information contained in the corresponding {@link * org.eclipse.persistence.jpa.jpql.parser.Expression Expression} to perfectly match what was parsed; * false will only match the case sensitivity of the JPQL identifiers. * * @version 2.4 * @since 2.4 * @author Pascal Filion */ public class EclipseLinkActualJPQLQueryFormatter extends AbstractActualJPQLQueryFormatter implements EclipseLinkStateObjectVisitor { /** * Creates a new EclipseLinkActualJPQLQueryFormatter. * * @param exactMatch Determines whether the string representation of any given {@link * org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject StateObject} should reflect the exact * string that was parsed: true will use every bit of information contained in the * corresponding {@link org.eclipse.persistence.jpa.jpql.parser.Expression Expression} to * perfectly match what was parsed; false will only match the case sensitivity of * the JPQL identifiers */ public EclipseLinkActualJPQLQueryFormatter(boolean exactMatch) { super(exactMatch); } /** * Creates a new EclipseLinkActualJPQLQueryFormatter. * * @param exactMatch Determines whether the string representation of any given {@link * org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject StateObject} should reflect the exact * string that was parsed: true will use every bit of information contained in the * corresponding {@link org.eclipse.persistence.jpa.jpql.parser.Expression Expression} to * perfectly match what was parsed (case of JPQL identifiers and the presence of whitespace); * false will only match the case sensitivity of the JPQL identifiers * @param style Determines how the JPQL identifiers are written out, which is used if the {@link * org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject StateObject} was modified after its * creation * @exception NullPointerException The IdentifierStyle cannot be null */ public EclipseLinkActualJPQLQueryFormatter(boolean exactMatch, IdentifierStyle style) { super(exactMatch, style); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy