org.hotrod.config.dynamicsql.DynamicSQLPart Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hotrod-generator Show documentation
Show all versions of hotrod-generator Show documentation
HotRod is an ORM for Java, Spring and SpringBoot.
The newest version!
package org.hotrod.config.dynamicsql;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlElementRefs;
import javax.xml.bind.annotation.XmlMixed;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.hotrod.config.AbstractConfigurationTag;
import org.hotrod.config.DaosTag;
import org.hotrod.config.HotRodConfigTag;
import org.hotrod.config.HotRodFragmentConfigTag;
import org.hotrod.config.ParameterTag;
import org.hotrod.exceptions.InvalidConfigurationFileException;
import org.hotrod.generator.Generator;
import org.hotrod.generator.ParameterRenderer;
import org.hotrod.runtime.dynamicsql.expressions.DynamicExpression;
import org.hotrod.runtime.dynamicsql.expressions.LiteralExpression;
import org.hotrod.runtime.exceptions.InvalidJavaExpressionException;
public abstract class DynamicSQLPart extends AbstractConfigurationTag {
private static final long serialVersionUID = 1L;
// Constants
private static final Logger log = LogManager.getLogger(DynamicSQLPart.class);
// Properties
// This property cannot be transient. JAXB fails when doing so with the
// message: Transient field "content" cannot have any JAXB annotations.
@XmlMixed
@XmlElementRefs({ //
@XmlElementRef(type = IfTag.class), //
@XmlElementRef(type = ChooseTag.class), //
@XmlElementRef(type = WhereTag.class), //
@XmlElementRef(type = WhenTag.class), //
@XmlElementRef(type = OtherwiseTag.class), //
@XmlElementRef(type = ForEachTag.class), //
@XmlElementRef(type = BindTag.class), //
@XmlElementRef(type = SetTag.class), //
@XmlElementRef(type = TrimTag.class) //
})
protected List