Package org.jbehave.core.embedder

Source Code of org.jbehave.core.embedder.UnmodifiableEmbedderControls$ModificationNotAllowed

package org.jbehave.core.embedder;

import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

public class UnmodifiableEmbedderControls extends EmbedderControls {

  private EmbedderControls delegate;

  public UnmodifiableEmbedderControls(EmbedderControls delegate) {
    this.delegate = delegate;
  }

  @Override
  public boolean batch() {
    return delegate.batch();
  }

  @Override
  public boolean ignoreFailureInView() {
    return delegate.ignoreFailureInView();
  }

  @Override
  public boolean ignoreFailureInStories() {
    return delegate.ignoreFailureInStories();
  }

  @Override
  public boolean generateViewAfterStories() {
    return delegate.generateViewAfterStories();
  }

  @Override
  public boolean skip() {
    return delegate.skip();
  }

  @Override
  public EmbedderControls doBatch(boolean batch) {
    throw notAllowed();
  }

  @Override
  public EmbedderControls doIgnoreFailureInView(
      boolean ignoreFailureInReports) {
    throw notAllowed();
  }

  @Override
  public EmbedderControls doIgnoreFailureInStories(
      boolean ignoreFailureInStories) {
    throw notAllowed();
  }

  @Override
  public EmbedderControls doGenerateViewAfterStories(
      boolean generateViewAfterStories) {
    throw notAllowed();
  }

  @Override
  public EmbedderControls doSkip(boolean skip) {
    throw notAllowed();
  }

  private RuntimeException notAllowed() {
    return new ModificationNotAllowed();
  }

  @Override
  public String toString() {
    return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE)
        .append(delegate).toString();
  }
 
    @SuppressWarnings("serial")
    public static class ModificationNotAllowed extends RuntimeException {
        public ModificationNotAllowed(){
            super("Configuration elements are unmodifiable");
        }
    }


}
TOP

Related Classes of org.jbehave.core.embedder.UnmodifiableEmbedderControls$ModificationNotAllowed

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.