Class QueryField

  • All Implemented Interfaces:
    XMLSerializable

    public class QueryField
    extends java.lang.Object
    implements XMLSerializable
    Basic block for building advanced search queries.

    Each database service defines a set of query fields. Each field is composed of one DocumentField which specifies properties such as name, description and type, and a set of conditions that may apply to the field. For example, a service may provide searching on dates by combining a date field with the conditions DATE_AFTER, DATE_BEFORE and so on. For example,

     AdvancedSearchQueryTerm.Condition[] conditions = new AdvancedSearchQueryTerm.Condition[]{
       AdvancedSearchQueryTerm.Condition.IN_RANGE,
       AdvancedSearchQueryTerm.Condition.DATE_AFTER_OR_ON,
       AdvancedSearchQueryTerm.Condition.DATE_BEFORE_OR_ON
     };
     DocumentField field = createDateField("creation date", "search by dates", "datecode");
     return new QueryField(field, conditions);
     
    The code above directs geneious to display a "creation date" search field in the advanced search panel for that service, and in that field Geneious allows the user to specifies either one or two dates with the appropriate conditions. Upon clicking on search, the field and values are used to construct a query search term, which becomes part of the search query passed to the service.
    • Field Detail

      • conditions

        public Condition[] conditions
        Possible conditions on field.

        (In an actual query, just one is specified)

    • Constructor Detail

      • QueryField

        public QueryField​(DocumentField field,
                          Condition[] conditions)
        Constructor.
        Parameters:
        field - the field to search on
        conditions - an conditions attached to the field
      • QueryField

        public QueryField()
        Empty constructor used only during XML serialisation.
    • Method Detail

      • toXML

        public org.jdom.Element toXML()
        Description copied from interface: XMLSerializable
        Convert object to a JDOM element. The representation should be complete so that XMLSerializable.fromXML(org.jdom.Element) can completely restore the object's representation.

        It is recommended that the returned element use XMLSerializable.ROOT_ELEMENT_NAME as its name, in which case it must not define an attribute called "type". In this case, fromXML, will be called with an element whose name may differ from the element return from this function. This recommendation allows a more compact representation of the XML can be stored.

        This method generally should not be called directly. Instead, you should usually call XMLSerializer.classToXML(String, XMLSerializable) which calls this method internally.

        PluginDocument implementations of this method may choose to throw an XMLSerializationException, enclosed in a RuntimeException.

        Specified by:
        toXML in interface XMLSerializable
        Returns:
        object encoded as a JDOM element
      • fromXML

        public void fromXML​(org.jdom.Element element)
                     throws XMLSerializationException
        Description copied from interface: XMLSerializable
        Restore the object from the JDOM Element returned by XMLSerializable.toXML().

        This method generally should not be called directly. Instead, you should usually call XMLSerializer.classFromXML(org.jdom.Element) or XMLSerializer.classFromXML(org.jdom.Element, Class) which calls this method internally.

        It is optional to implement this method. Instead of implementing an empty constructor and implementing this method properly, the implementation may instead throw an UnsupportedOperationException and implement a constructor that takes a single Element as a parameter. This allows for cleaner code such as support for final fields in the XMLSerializable class.

        The element parameter should not be modified since it may be reused. If you need a modified version of it, take a copy with Element.clone().

        Specified by:
        fromXML in interface XMLSerializable
        Parameters:
        element - representation from a previous call to XMLSerializable.toXML()
        Throws:
        XMLSerializationException - if the Element can't be converted into this type of object
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object