net.sf.basedb.core
Class HasAnnotationRestriction
java.lang.Object
net.sf.basedb.core.AnnotationRestriction
net.sf.basedb.core.HasAnnotationRestriction
- All Implemented Interfaces:
- QueryElement, Restriction
public class HasAnnotationRestriction
- extends AnnotationRestriction
Restricts a query by the presence of absence of an annotation.
- Version:
- 2.7
- Author:
- Nicklas
- See Also:
Annotations
- Last modified
- $Date: 2009-04-06 14:52:39 +0200 (Mon, 06 Apr 2009) $
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
hasBeenAnnotatated
private boolean hasBeenAnnotatated
HasAnnotationRestriction
public HasAnnotationRestriction(String alias,
AnnotationType annotationType,
boolean hasBeenAnnotatated,
boolean includeInheriting)
- Create a new restriction that checks if an item has been annotatated
or not.
- Parameters:
alias
- The alias of a joined item where the annotations are
located or null to use the root entity of the queryannotationType
- The annotation type to use in the queryhasBeenAnnotatated
- TRUE to look for items that has been annotated with the given
annotation type, FALSE to look for items that hasn'tincludeInheriting
- If items inherting the annotation should be returned
by the query or not
HasAnnotationRestriction
public HasAnnotationRestriction(String alias,
int annotationTypeId,
boolean hasBeenAnnotatated,
boolean includeInheriting)
- See Also:
HasAnnotationRestriction(String, AnnotationType, boolean, boolean)
getRestrictionSql
String getRestrictionSql(Query query,
DbControl dc)
throws BaseException
- Description copied from class:
AnnotationRestriction
- Get an SQL fragment that includes the actual restriction.
Use 'v.value' to access the annotation value. Avoid including
literal values originating from a user, especially strings, since it may lead
to security holes unless the values are checked
for dangerous characters. Use a parameter placeholder instead. A parameter
placeholder is a colon (:) followed by a name.
Example:
v.value = :theValue
The setRestrictionParameters
method is called to
allow the subclass to set the value of the parameters specified
in the SQL fragment.
- Specified by:
getRestrictionSql
in class AnnotationRestriction
- Parameters:
query
- The query object we are about to execute
- Returns:
- An SQL fragment, or null if no additional restriction is required
- Throws:
BaseException
- See Also:
AnnotationRestriction.setRestrictionParameters(SQLQuery)
setRestrictionParameters
void setRestrictionParameters(org.hibernate.SQLQuery query)
- Description copied from class:
AnnotationRestriction
- Set the value for all parameters defined in the SQL fragment
returned by
AnnotationRestriction.getRestrictionSql(Query, DbControl)
.
- Specified by:
setRestrictionParameters
in class AnnotationRestriction
- Parameters:
query
- The Hibernate SQLQuery
object which is
used to query the database
notAmongSelected
boolean notAmongSelected()
- Description copied from class:
AnnotationRestriction
- If the main restriction should match items that had annotations
among the selected annotation sets, or not.
- Overrides:
notAmongSelected
in class AnnotationRestriction
- Returns:
- FALSE (default) to match the selected annotation sets, TRUE
to match the non-selected annotation sets