Android Open Source - CustomersChoice Chained Reporter






From Project

Back to project page CustomersChoice.

License

The source code is released under:

Apache License

If you think the Android project CustomersChoice 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

/*
 * Copyright 2012 Hasan Hosgel//ww w .ja  v a 2s.  c o  m
 *
 * 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 de.alosdev.android.customerschoice.reporter;

import de.alosdev.android.customerschoice.CustomersChoice;
import de.alosdev.android.customerschoice.Variant;


/**
 * The Chained Logger can be used to chain several {@link Logger}s together.
 * It is normally done automatically by the {@link CustomersChoice#addLoggers(Logger...)}
 * @author Hasan Hosgel
 *
 */
public class ChainedReporter implements Reporter {
  private final Reporter[] reporters;

  public ChainedReporter(Reporter... reporters) {
    if ((null == reporters) || (reporters.length < 1)) {
      throw new IllegalArgumentException("the reporters array must contain at least one reporter");
    }
    this.reporters = reporters;
  }

  @Override
  public void startVariant(Variant variant) {
    for (Reporter reporter : reporters) {
      reporter.startVariant(variant);
    }
  }

  @Override
  public void reachesGoal(Variant variant) {
    for (Reporter reporter : reporters) {
      reporter.reachesGoal(variant);
    }
  }
}




Java Source Code List

de.alosdev.android.customerschoice.CustomersChoice.java
de.alosdev.android.customerschoice.VariantBuilder.java
de.alosdev.android.customerschoice.Variant.java
de.alosdev.android.customerschoice.broadcast.OverwriteVariantBroadCastReceiver.java
de.alosdev.android.customerschoice.demo.CustomersChoiceApplication.java
de.alosdev.android.customerschoice.demo.CustomersChoiceDemo.java
de.alosdev.android.customerschoice.demo.ShoppingCardActivity.java
de.alosdev.android.customerschoice.logger.AndroidLogger.java
de.alosdev.android.customerschoice.logger.ChainedLogger.java
de.alosdev.android.customerschoice.logger.Logger.java
de.alosdev.android.customerschoice.logger.NoLogger.java
de.alosdev.android.customerschoice.reporter.ChainedReporter.java
de.alosdev.android.customerschoice.reporter.LogReporter.java
de.alosdev.android.customerschoice.reporter.NoReporter.java
de.alosdev.android.customerschoice.reporter.Reporter.java