Coverage Report - org.jbehave.core.embedder.UnmodifiableEmbedderControls
 
Classes in this File Line Coverage Branch Coverage Complexity
UnmodifiableEmbedderControls
100%
15/15
N/A
1.357
UnmodifiableEmbedderControls$ModificationNotAllowed
100%
2/2
N/A
1.357
 
 1  
 package org.jbehave.core.embedder;
 2  
 
 3  
 import org.apache.commons.lang.builder.ToStringBuilder;
 4  
 import org.apache.commons.lang.builder.ToStringStyle;
 5  
 
 6  
 public class UnmodifiableEmbedderControls extends EmbedderControls {
 7  
 
 8  
         private EmbedderControls delegate;
 9  
 
 10  1
         public UnmodifiableEmbedderControls(EmbedderControls delegate) {
 11  1
                 this.delegate = delegate;
 12  1
         }
 13  
 
 14  
         @Override
 15  
         public boolean batch() {
 16  1
                 return delegate.batch();
 17  
         }
 18  
 
 19  
         @Override
 20  
         public boolean ignoreFailureInView() {
 21  1
                 return delegate.ignoreFailureInView();
 22  
         }
 23  
 
 24  
         @Override
 25  
         public boolean ignoreFailureInStories() {
 26  1
                 return delegate.ignoreFailureInStories();
 27  
         }
 28  
 
 29  
         @Override
 30  
         public boolean generateViewAfterStories() {
 31  1
                 return delegate.generateViewAfterStories();
 32  
         }
 33  
 
 34  
         @Override
 35  
         public boolean skip() {
 36  1
                 return delegate.skip();
 37  
         }
 38  
 
 39  
         @Override
 40  
         public EmbedderControls doBatch(boolean batch) {
 41  1
                 throw notAllowed();
 42  
         }
 43  
 
 44  
         @Override
 45  
         public EmbedderControls doIgnoreFailureInView(
 46  
                         boolean ignoreFailureInReports) {
 47  1
                 throw notAllowed();
 48  
         }
 49  
 
 50  
         @Override
 51  
         public EmbedderControls doIgnoreFailureInStories(
 52  
                         boolean ignoreFailureInStories) {
 53  1
                 throw notAllowed();
 54  
         }
 55  
 
 56  
         @Override
 57  
         public EmbedderControls doGenerateViewAfterStories(
 58  
                         boolean generateViewAfterStories) {
 59  1
                 throw notAllowed();
 60  
         }
 61  
 
 62  
         @Override
 63  
         public EmbedderControls doSkip(boolean skip) {
 64  1
                 throw notAllowed();
 65  
         }
 66  
 
 67  
         private RuntimeException notAllowed() {
 68  5
                 return new ModificationNotAllowed();
 69  
         }
 70  
 
 71  
         @Override
 72  
         public String toString() {
 73  1
                 return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE)
 74  
                                 .append(delegate).toString();
 75  
         }
 76  
         
 77  
     @SuppressWarnings("serial")
 78  
     public static class ModificationNotAllowed extends RuntimeException {
 79  
         public ModificationNotAllowed(){
 80  5
             super("Configuration elements are unmodifiable");
 81  5
         }
 82  
     }
 83  
 
 84  
 
 85  
 }