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

org.eclipse.persistence.jpa.jpql.parser.OnClause Maven / Gradle / Ivy

There is a newer version: 5.0.0-B03
Show newest version
/*
 * Copyright (c) 2012, 2021 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.parser;

import org.eclipse.persistence.jpa.jpql.WordParser;

/**
 * Returns an expression that allows a join ON clause to be defined.
 * 

* New to EclipseLink 2.4 and JPA 2.1. * *

BNF: join_condition ::= ON conditional_expression
*

* Example: SELECT e FROM Employee e LEFT JOIN e.projects p ON p.budget {@literal >} 10000 * * @version 2.4 * @since 2.4 * @author James Sutherland */ public final class OnClause extends AbstractConditionalClause { /** * Creates a new OnClause. * * @param parent The parent of this expression */ public OnClause(AbstractExpression parent) { super(parent, ON); } @Override public void accept(ExpressionVisitor visitor) { visitor.visit(this); } @Override public JPQLQueryBNF getQueryBNF() { return getQueryBNF(OnClauseBNF.ID); } @Override protected boolean isParsingComplete(WordParser wordParser, String word, Expression expression) { return word.equalsIgnoreCase(LEFT) || word.equalsIgnoreCase(OUTER) || word.equalsIgnoreCase(FETCH) || word.equalsIgnoreCase(INNER) || word.equalsIgnoreCase(JOIN) || super.isParsingComplete(wordParser, word, expression); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy