StatisticsBeanLocal.java 1.89 KB
/*
 * Copyright Codecrew Ry
 * 
 * All rights reserved.
 * 
 * This license applies to any software containing a notice placed by the 
 * copyright holder. Such software is herein referred to as the Software. 
 * This license covers modification, distribution and use of the Software. 
 * 
 * Any distribution and use in source and binary forms, with or without 
 * modification is not permitted without explicit written permission from the 
 * copyright owner. 
 * 
 * A non-exclusive royalty-free right is granted to the copyright owner of the 
 * Software to use, modify and distribute all modifications to the Software in 
 * future versions of the Software. 
 * 
 */
package fi.codecrew.moya.beans;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import javax.ejb.Local;

import fi.codecrew.moya.beans.StatisticsBeanLocal.ProductSlotcountMover;
import fi.codecrew.moya.model.Product;

@Local
public interface StatisticsBeanLocal {

	public Long getGroupMembershipsEnteredEvent();

	public Long getCardDeliveredCount();

	public Long getGroupMembershipsTotalCount();

	public Map<Long, Long> getHourlyIncomingStatistics(long startingFromMillis, int hourCount);


	public static class ProductSlotcountMover implements Serializable {

		/**
		 * 
		 */
		private static final long serialVersionUID = -7759706761198824766L;

		private final Product product;

		private Long totalSlots;
		private Long unusedSlots;

		public ProductSlotcountMover(Product p) {
			this.product = p;
		}

		public Long getTotalSlots() {
			return totalSlots;
		}

		public void setTotalSlots(Long totalSlots) {
			this.totalSlots = totalSlots;
		}

		public Long getUnusedSlots() {
			return unusedSlots;
		}

		public void setUnusedSlots(Long unusedSlots) {
			this.unusedSlots = unusedSlots;
		}

		public Product getProduct() {
			return product;
		}

	}

	List<ProductSlotcountMover> getUnusedSlots(boolean onlyPaid);
}