Android Open Source - android-core I Sum






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  w  w  w. j a  va 2 s. c  om
 * 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 return sum of all non-NULL values in the group.
 * If there are no non-NULL input rows then sum() returns NULL but total() returns 0.0.
 * NULL is not normally a helpful result for the sum of no rows but the SQL standard requires it and most other SQL database engines implement sum() that way so SQLite does it in the same way in order to be compatible.
 * The result of sum() is an integer value if all non-NULL inputs are integers. 
 */
public interface ISum {

  /**
   * Column name of which condition will be specified.
   * @param column Name of column.
   * @return ISumClause Interface.
   */
  public ISumClause where(String column);
  
  /**
   * Used to provide manually created Where clause, instead of using API's.
   * @param whereClause Manually created where clause.
   * @return ISum Interface.
   */
  public ISum whereClause(String whereClause);
  
  /**
   * Used to specify AND condition between where clause.
   * @param column Name of column on which condition need to be specified.
   * @return ISumClause Interface.
   */
  public ISumClause and(String column);
  
  /**
   * Used to specify OR condition between where clause.
   * @param column Name of column on which condition need to be specified.
   * @return ISumClause Interface.
   */
  public ISumClause 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 ISum Interface.
   */
  public ISum 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 ISumClause Interface.
   */
  public ISumClause having(String column);

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