001// license-header java merge-point
002//
003// Attention: generated code (by Metafacade.vsl) - do not modify!
004//
005package org.andromda.cartridges.spring.metafacades;
006
007import org.andromda.metafacades.uml.AttributeFacade;
008
009/**
010 * Represents a criteria search attribute.
011 *
012 * Metafacade interface to be used by AndroMDA cartridges.
013 */
014public interface SpringCriteriaAttribute
015    extends AttributeFacade
016{
017    /**
018     * Indicates the metafacade type (used for metafacade mappings).
019     *
020     * @return boolean always <code>true</code>
021     */
022    public boolean isSpringCriteriaAttributeMetaType();
023
024    /**
025     * Returns the name of the attribute to be used in the criteria query.
026     * @return String
027     */
028    public String getAttributeName();
029
030    /**
031     * Returns the comparator for the attribute.
032     * @return String
033     */
034    public String getComparator();
035
036    /**
037     * The comparator as a constant expression usable in the template.
038     * @return String
039     */
040    public String getComparatorConstant();
041
042    /**
043     * Returns the hibernate matchmode constant to use for matching Strings.
044     * @return String
045     */
046    public String getMatchMode();
047
048    /**
049     * Returns the matchmode constant for usage in templates.
050     * @return String
051     */
052    public String getMatchModeConstant();
053
054    /**
055     * Returns the order direction if it has been set.
056     * @return String
057     */
058    public String getOrderDirection();
059
060    /**
061     * Returns the relevance of the ordering setting. The lower the number, the more relevant it is.
062     * @return int
063     */
064    public int getOrderRelevance();
065
066    /**
067     * Indicates whether or not the attribute has a tagged value for the comparator.
068     * @return boolean
069     */
070    public boolean isComparatorPresent();
071
072    /**
073     * Returns <code>true</code> if a matchmode has ben set.
074     * @return boolean
075     */
076    public boolean isMatchModePresent();
077
078    /**
079     * Defines whether the underlying attribute on the queried entity may be NULL and should
080     * therefore be included in the search.
081     * @return boolean
082     */
083    public boolean isNullable();
084
085    /**
086     * Returns true if the attribute is used to order the result set.
087     * @return boolean
088     */
089    public boolean isOrderable();
090}