org.hibernate.hql.internal.ast.tree.SqlFragment Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hibernate-core-jakarta Show documentation
Show all versions of hibernate-core-jakarta Show documentation
Hibernate O/RM implementation of the Jakarta Persistence specification
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or .
*/
package org.hibernate.hql.internal.ast.tree;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.param.ParameterSpecification;
import org.hibernate.sql.JoinFragment;
/**
* Represents an SQL fragment in the AST.
*
* @author josh
*/
public class SqlFragment extends Node implements ParameterContainer, TableReferenceNode {
private JoinFragment joinFragment;
private FromElement fromElement;
private String[] referencedTables;
public void setJoinFragment(JoinFragment joinFragment) {
this.joinFragment = joinFragment;
}
public boolean hasFilterCondition() {
return joinFragment.hasFilterCondition();
}
public void setFromElement(FromElement fromElement) {
this.fromElement = fromElement;
}
public FromElement getFromElement() {
return fromElement;
}
// ParameterContainer impl ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
private List embeddedParameters;
public void addEmbeddedParameter(ParameterSpecification specification) {
if ( embeddedParameters == null ) {
embeddedParameters = new ArrayList();
}
embeddedParameters.add( specification );
}
public boolean hasEmbeddedParameters() {
return embeddedParameters != null && ! embeddedParameters.isEmpty();
}
public ParameterSpecification[] getEmbeddedParameters() {
return embeddedParameters.toArray( new ParameterSpecification[ embeddedParameters.size() ] );
}
public String[] getReferencedTables() {
return referencedTables;
}
public void setReferencedTables(String[] referencedTables) {
this.referencedTables = referencedTables;
}
}