Class AndCompoundQueryBuilder


  • public class AndCompoundQueryBuilder
    extends AQBPCompoundQueryBuilder
    This class implements a compound query builder based on the AND query. This implements a compound query builder based on an AndBuilderConfig configuration object. The configration defines a compound record matching query that is a AND of a set of features. Each feature corresponds to a query against fields from a single table of the compound record.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.netrics.likeit.ANetricsCompoundQueryBuilder

        com.netrics.likeit.ANetricsCompoundQueryBuilder.FeatureDef
    • Field Summary

      • Fields inherited from class com.netrics.likeit.ANetricsCompoundQueryBuilder

        features
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.netrics.likeit.NetricsQuery getQuery()
      Generate the AND compound matching query.
      com.netrics.likeit.NetricsQuery getQuery​(com.netrics.likeit.NetricsQuery[] features_real)
      Generate the AND compound matching query for a given set of feature queries.
      java.lang.Object setConfiguration​(java.io.File config_file)
      Configure this object from a configuration file.
      java.lang.Object setConfiguration​(java.io.InputStream config_stream)
      Configure this object from an input stream.
      void setConfiguration​(java.lang.Object config_object)
      Configure this AND query generator from an external configuration object.
      protected void setConfiguration​(java.lang.Object config_object, java.util.List<com.netrics.likeit.ANetricsCompoundQueryBuilder.FeatureDef> ext_features, AQBPLogger logger)
      Configure this AND query generator from an external configuration object and a set of features.
      java.lang.Object setConfiguration​(java.lang.String config_src)
      Configure this object from a configuration source.
      • Methods inherited from class com.netrics.likeit.ANetricsCompoundQueryBuilder

        addDefaultItem, changeItemName, getCurInputFieldNames, getCurItemName, getCurJoinedFieldNames, getCurJoinedFieldNames, getCurOutputFieldNames, getCurrentInputTableNames, getCurrentOutputTableNames, getDefaultItemNames, getDefaultTableNames, getDfltInputNames, getDfltOutputNames, getFeatureQueryletLists, getFeatureQuerylets, getJoinConfig, getUsedItemTypes, setDefaultValue, setFeatures, setFieldValuesFromList, setFieldValuesFromMap, setFieldValuesFromRecord, setInputFieldName, setInputFieldNames, setInputFieldOrdering, setInputTableName, setInputTableNames, setOutputFieldName, setOutputFieldNames, setOutputTableName, setQueryConfiguration, setSearchOpts, setTables
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AndCompoundQueryBuilder

        public AndCompoundQueryBuilder()
    • Method Detail

      • setConfiguration

        public java.lang.Object setConfiguration​(java.io.InputStream config_stream)
                                          throws java.lang.IllegalArgumentException,
                                                 java.lang.UnsupportedOperationException,
                                                 java.lang.IllegalStateException
        Configure this object from an input stream. This is called to initialize an object created with the default constructor. It expects to read from the input stream a valid AndBuilderConfig element.
        Overrides:
        setConfiguration in class com.netrics.likeit.ANetricsCompoundQueryBuilder
        Parameters:
        config_stream - this must be an open stream containing a valid XML AndBuilderConfig item.
        Throws:
        java.lang.IllegalArgumentException - if config_stream is null, or does not contain a valid AndBuilderConfig element as the top level item.
        java.lang.IllegalStateException - if this object is already initialized.
        java.lang.UnsupportedOperationException
      • setConfiguration

        public java.lang.Object setConfiguration​(java.lang.String config_src)
                                          throws java.lang.IllegalArgumentException,
                                                 java.lang.UnsupportedOperationException,
                                                 java.lang.IllegalStateException
        Configure this object from a configuration source. This is called to initialize an object created with the default constructor. It reads configuration data from a file source. The file source is opened with the current file manager. The default manager expects a source to be a standard file name or path.
        Overrides:
        setConfiguration in class com.netrics.likeit.ANetricsCompoundQueryBuilder
        Parameters:
        config_src - this must be file source containing a valid AndBuilderConfig XML element.
        Throws:
        java.lang.IllegalArgumentException - if config_src is null, is not an existing, readable source, or does not contain a valid AndBuilderConfig XML element as the top level item.
        java.lang.IllegalStateException - if this object is already initialized.
        java.lang.UnsupportedOperationException
      • setConfiguration

        protected void setConfiguration​(java.lang.Object config_object,
                                        java.util.List<com.netrics.likeit.ANetricsCompoundQueryBuilder.FeatureDef> ext_features,
                                        AQBPLogger logger)
                                 throws AQBPLogger.QBPConfigException,
                                        java.lang.IllegalStateException
        Configure this AND query generator from an external configuration object and a set of features. This method is used by the GeneralCompoundQueryBuilder class to link this builder to its own set of features. This configures this compound query generator from an AndBuilderConfig object. This object is generated from the query builder XML configuration (as generated from the XML by JAXB). This call does not attempt to instantiate the actual feature classes. Instead it uses the features from the given list.
        Specified by:
        setConfiguration in class AQBPCompoundQueryBuilder
        Parameters:
        config_object - this must be a valid AndBuilderConfig object.
        ext_features - the features for this object. The list must match the length of the features defined in the config_object.
        logger - errors are reported through this logger. If logger is null an AQBPLogger.QBPConfigException is thrown on the first configuration error.
        Throws:
        java.lang.IllegalStateException - if this object is already initialized.
        AQBPLogger.QBPConfigException - if config_object is null, not a AndBuilderConfig object, or is not a valid configuration.
      • setConfiguration

        public void setConfiguration​(java.lang.Object config_object)
                              throws java.lang.UnsupportedOperationException,
                                     java.lang.IllegalArgumentException,
                                     java.lang.IllegalStateException
        Configure this AND query generator from an external configuration object. This configures this compound query generator from an AndBuilderConfig object. This object is generated from the query builder XML configuration (as generated from the XML by JAXB).
        Overrides:
        setConfiguration in class com.netrics.likeit.ANetricsCompoundQueryBuilder
        Parameters:
        config_object - this must be a valid AndBuilderConfig object.
        Throws:
        java.lang.IllegalStateException - if this object is already initialized.
        java.lang.IllegalArgumentException - if config_object is null, not a AndBuilderConfig object, or is not a valid configuration.
        java.lang.UnsupportedOperationException
      • setConfiguration

        public java.lang.Object setConfiguration​(java.io.File config_file)
                                          throws java.lang.IllegalArgumentException,
                                                 java.lang.UnsupportedOperationException,
                                                 java.lang.IllegalStateException
        Configure this object from a configuration file. This is called to initialize an object created with the default constructor.
        Overrides:
        setConfiguration in class com.netrics.likeit.ANetricsCompoundQueryBuilder
        Parameters:
        config_file - this must be an XML file containing a valid AndBuilderConfig description.
        Throws:
        java.lang.IllegalArgumentException - if config_file is null, is not an existing, readable file, or does not contain a valid AndBuilderConfig XML element as the top level item.
        java.lang.IllegalStateException - if this object is already initialized.
        java.lang.UnsupportedOperationException
      • getQuery

        public com.netrics.likeit.NetricsQuery getQuery​(com.netrics.likeit.NetricsQuery[] features_real)
                                                 throws java.lang.IllegalStateException,
                                                        java.lang.Exception
        Generate the AND compound matching query for a given set of feature queries. This creates the compound AND query. The top level query is an AND of all of the features. This form of getQuery is used by the GeneralCompoundQueryBuilder class to get a query for its own set of feature values.
        Specified by:
        getQuery in class AQBPCompoundQueryBuilder
        Parameters:
        features_real - array of query objects for features. This must match the feature list for this builder.
        Returns:
        the complete compound query.
        Throws:
        java.lang.IllegalArgumentException - if features_real is null or the incorrect length.
        java.lang.IllegalStateException - if this object is not initialized, or the field data is not set.
        java.lang.Exception - if this object is corrupted.
      • getQuery

        public com.netrics.likeit.NetricsQuery getQuery()
                                                 throws java.lang.IllegalStateException,
                                                        java.lang.Exception
        Generate the AND compound matching query. This creates the compound matching query. The top level is an AND of the feature queries.
        Specified by:
        getQuery in class com.netrics.likeit.ANetricsCompoundQueryBuilder
        Throws:
        java.lang.IllegalStateException - if this object is not initialized, or the field data is not set.
        java.lang.Exception - if this object is corrupted.