Android Open Source - android-core I Average






From Project

Back to project page android-core.

License

The source code is released under:

Apache License

If you think the Android project android-core listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/** 
 * [SIMINOV FRAMEWORK]//from  www  . j  a  v  a 2s. co m
 * Copyright [2015] [Siminov Software Solution LLP|support@siminov.com]
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 **/

package siminov.core.database.design;

import siminov.core.exception.DatabaseException;

/**
 * Exposes API's to get average value of all non-NULL X within a group. 
 * String and BLOB values that do not look like numbers are interpreted as 0.
 * The result of avg() is always a floating point value as long as at there is at least one non-NULL input even if all inputs are integers.
 * The result of avg() is NULL if and only if there are no non-NULL inputs.
 */
public interface IAverage {

  /**
   * Column name of which condition will be specified.
   * @param column Name of column.
   * @return IAerageClause Interface.
   */
  public IAverageClause where(String column);
  
  /**
   * Used to provide manually created Where clause, instead of using API's.
   * @param whereClause Manually created where clause.
   * @return IAverage Interface.
   */
  public IAverage whereClause(String whereClause);
  
  /**
   * Used to specify AND condition between where clause.
   * @param column Name of column on which condition need to be specified.
   * @return IAerageClause Interface.
   */
  public IAverageClause and(String column);
  
  /**
   * Used to specify OR condition between where clause.
   * @param column Name of column on which condition need to be specified.
   * @return IAverageClause Interface.
   */
  public IAverageClause or(String column);

  /**
   * Used to specify GROUP BY statement in conjunction with the aggregate functions to group the result-set by one or more columns.
   * @param columns Name of columns.
   * @return IAverage Interface.
   */
  public IAverage groupBy(String...columns);

  /**
   * Used to specify HAVING clause to SQL because the WHERE keyword could not be used with aggregate functions.
   * @param column Name of column on which condition need to be applied.
   * @return IAverageClause Interface.
   */
  public IAverageClause having(String column);

  /**
   * Used to provide manually created Where clause, instead of using API's.
   * @param havingClause Where clause.
   * @return IAverage Interface.
   */
  public IAverage havingClause(String havingClause);
  
  /**
   * Used to provide name of column for which average will be calculated.
   * @param column Name of column.
   * @return IAverage Interface.
   */
  public IAverage column(String column);
  
  /**
   * Used to get average, this method should be called in last to calculate average.
   * @return Return average.
   * @throws DatabaseException Throws exception if any error occur while calculating average. 
   */
  public<T> T execute() throws DatabaseException;

}




Java Source Code List

siminov.core.Constants.java
siminov.core.IInitializer.java
siminov.core.Initializer.java
siminov.core.Siminov.java
siminov.core.database.Clause.java
siminov.core.database.DatabaseBundle.java
siminov.core.database.DatabaseFactory.java
siminov.core.database.DatabaseHelper.java
siminov.core.database.DatabaseUtils.java
siminov.core.database.Database.java
siminov.core.database.Where.java
siminov.core.database.design.IAverageClause.java
siminov.core.database.design.IAverage.java
siminov.core.database.design.ICountClause.java
siminov.core.database.design.ICount.java
siminov.core.database.design.IDataTypeHandler.java
siminov.core.database.design.IDatabaseImpl.java
siminov.core.database.design.IDatabase.java
siminov.core.database.design.IDeleteClause.java
siminov.core.database.design.IDelete.java
siminov.core.database.design.IGroupConcatClause.java
siminov.core.database.design.IGroupConcat.java
siminov.core.database.design.IMaxClause.java
siminov.core.database.design.IMax.java
siminov.core.database.design.IMinClause.java
siminov.core.database.design.IMin.java
siminov.core.database.design.IQueryBuilder.java
siminov.core.database.design.ISelectClause.java
siminov.core.database.design.ISelect.java
siminov.core.database.design.ISumClause.java
siminov.core.database.design.ISum.java
siminov.core.database.design.ITotalClause.java
siminov.core.database.design.ITotal.java
siminov.core.database.sqlite.DataTypeHandler.java
siminov.core.database.sqlite.DatabaseImpl.java
siminov.core.database.sqlite.QueryBuilder.java
siminov.core.events.EventHandler.java
siminov.core.events.IDatabaseEvents.java
siminov.core.events.ISiminovEvents.java
siminov.core.exception.DatabaseException.java
siminov.core.exception.DeploymentException.java
siminov.core.exception.IException.java
siminov.core.exception.PrematureEndOfParseException.java
siminov.core.exception.SiminovCriticalException.java
siminov.core.exception.SiminovException.java
siminov.core.log.Log.java
siminov.core.model.ApplicationDescriptor.java
siminov.core.model.DatabaseDescriptor.java
siminov.core.model.DatabaseMappingDescriptor.java
siminov.core.model.IDescriptor.java
siminov.core.model.LibraryDescriptor.java
siminov.core.reader.ApplicationDescriptorReader.java
siminov.core.reader.DatabaseDescriptorReader.java
siminov.core.reader.DatabaseMappingDescriptorReader.java
siminov.core.reader.LibraryDescriptorReader.java
siminov.core.reader.QuickDatabaseMappingDescriptorReader.java
siminov.core.reader.SiminovSAXDefaultHandler.java
siminov.core.resource.ResourceManager.java
siminov.core.utils.ClassUtils.java
siminov.core.utils.EmptyIterator.java
siminov.core.utils.Utils.java