/*
* 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 water.ga;
import java.util.concurrent.atomic.AtomicLong;
/**
* Collects the basic stats about successful events that have been posted to GA.
*
* @author Santhosh Kumar
*
* This copy of google-analytics-java is a back port of version 1.1.1 of the library.
* This backport removes the slf4j dependency, and modifies the code to work with the
* 4.1 version of the Apache http client library.
*
* Original sources can be found at https://github.com/brsanthu/google-analytics-java.
* All copyrights retained by original authors.
*/
public class GoogleAnalyticsStats {
private AtomicLong pageViewHits = new AtomicLong();
private AtomicLong eventHits = new AtomicLong();
private AtomicLong appViewHits = new AtomicLong();
private AtomicLong itemHits = new AtomicLong();
private AtomicLong transactionHits = new AtomicLong();
private AtomicLong timingHits = new AtomicLong();
private AtomicLong socialHits = new AtomicLong();
void pageViewHit() {
pageViewHits.incrementAndGet();
}
void eventHit() {
eventHits.incrementAndGet();
}
void appViewHit() {
appViewHits.incrementAndGet();
}
void itemHit() {
itemHits.incrementAndGet();
}
void transactionHit() {
transactionHits.incrementAndGet();
}
void socialHit() {
socialHits.incrementAndGet();
}
void timingHit() {
timingHits.incrementAndGet();
}
public long getPageViewHits () {
return pageViewHits.get();
}
public long getEventHits () {
return eventHits.get();
}
public long getAppViewHits () {
return appViewHits.get();
}
public long getItemHits () {
return itemHits.get();
}
public long getTransactionHits () {
return transactionHits.get();
}
public long getTimingHits () {
return timingHits.get();
}
public long getSocialHits () {
return socialHits.get();
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("GoogleAnalyticsStats [");
if (pageViewHits != null) {
builder.append("pageViewHits=");
builder.append(pageViewHits);
builder.append(", ");
}
if (eventHits != null) {
builder.append("eventHits=");
builder.append(eventHits);
builder.append(", ");
}
if (appViewHits != null) {
builder.append("appViewHits=");
builder.append(appViewHits);
builder.append(", ");
}
if (itemHits != null) {
builder.append("itemHits=");
builder.append(itemHits);
builder.append(", ");
}
if (transactionHits != null) {
builder.append("transactionHits=");
builder.append(transactionHits);
builder.append(", ");
}
if (timingHits != null) {
builder.append("timingHits=");
builder.append(timingHits);
builder.append(", ");
}
if (socialHits != null) {
builder.append("socialHits=");
builder.append(socialHits);
}
builder.append("]");
return builder.toString();
}
}