API Note
the choice to prefix all SQM tree node class names with Sqm was
made to help make consumers easier to write. Consumers are likely to
have classes with the same purpose in their AST (e.g. the notion of a
"From". But if both projects define a class named From then the
consumer would have to fully qualify one reference to distinguish.
That makes for overly long code. Prefixing the names of classes helps
alleviate that problem.
| Modifier and Type | Interface and Description |
|---|---|
| public interface | |
| public interface | SqmDeleteOrUpdateStatement<T>
In some cases it is useful to be able to handle UPDATE or DELETE SQM trees using a single contract. |
| public interface | SqmDmlStatement<E>
Common extension of SqmStatement for DML (delete, update and insert-select) statements. |
| public interface | |
| public interface | SqmNode
Base contract for any SQM AST node. |
| public interface | |
| public interface | |
| public interface | |
| public interface | SqmVisitableNode
Optional contract for SqmNode implementations that can be visited by a SemanticQueryWalker. |
| Modifier and Type | Class and Description |
|---|---|
| public abstract class | |
| public abstract class | AbstractSqmNode
Base implementation of a criteria node. |
| public abstract class | |
| public abstract class |
| Modifier and Type | Enum and Description |
|---|---|
| public enum | SqmJoinType
Represents a canonical join type. |