Home | History | Annotate | Download | only in settings
      1 /*
      2  * Copyright (c) 2007 Mockito contributors
      3  * This program is made available under the terms of the MIT License.
      4  */
      5 package org.mockito.internal.creation.settings;
      6 
      7 import org.mockito.listeners.InvocationListener;
      8 import org.mockito.mock.MockCreationSettings;
      9 import org.mockito.mock.MockName;
     10 import org.mockito.stubbing.Answer;
     11 
     12 import java.io.Serializable;
     13 import java.util.ArrayList;
     14 import java.util.LinkedHashSet;
     15 import java.util.List;
     16 import java.util.Set;
     17 
     18 /**
     19  * by Szczepan Faber, created at: 4/9/12
     20  */
     21 public class CreationSettings<T> implements MockCreationSettings<T>, Serializable {
     22     private static final long serialVersionUID = -6789800638070123629L;
     23 
     24     protected Class<T> typeToMock;
     25     protected Set<Class> extraInterfaces = new LinkedHashSet<Class>();
     26     protected String name;
     27     protected Object spiedInstance;
     28     protected Answer<Object> defaultAnswer;
     29     protected MockName mockName;
     30     protected boolean serializable;
     31     protected List<InvocationListener> invocationListeners = new ArrayList<InvocationListener>();
     32     protected boolean stubOnly;
     33 
     34     public CreationSettings() {}
     35 
     36     @SuppressWarnings("unchecked")
     37     public CreationSettings(CreationSettings copy) {
     38         this.typeToMock = copy.typeToMock;
     39         this.extraInterfaces = copy.extraInterfaces;
     40         this.name = copy.name;
     41         this.spiedInstance = copy.spiedInstance;
     42         this.defaultAnswer = copy.defaultAnswer;
     43         this.mockName = copy.mockName;
     44         this.serializable = copy.serializable;
     45         this.invocationListeners = copy.invocationListeners;
     46         this.stubOnly = copy.stubOnly;
     47     }
     48 
     49     public Class<T> getTypeToMock() {
     50         return typeToMock;
     51     }
     52 
     53     public CreationSettings<T> setTypeToMock(Class<T> typeToMock) {
     54         this.typeToMock = typeToMock;
     55         return this;
     56     }
     57 
     58     public Set<Class> getExtraInterfaces() {
     59         return extraInterfaces;
     60     }
     61 
     62     public CreationSettings<T> setExtraInterfaces(Set<Class> extraInterfaces) {
     63         this.extraInterfaces = extraInterfaces;
     64         return this;
     65     }
     66 
     67     public String getName() {
     68         return name;
     69     }
     70 
     71     public Object getSpiedInstance() {
     72         return spiedInstance;
     73     }
     74 
     75     public Answer<Object> getDefaultAnswer() {
     76         return defaultAnswer;
     77     }
     78 
     79     public MockName getMockName() {
     80         return mockName;
     81     }
     82 
     83     public CreationSettings<T> setMockName(MockName mockName) {
     84         this.mockName = mockName;
     85         return this;
     86     }
     87 
     88     public boolean isSerializable() {
     89         return serializable;
     90     }
     91 
     92     public List<InvocationListener> getInvocationListeners() {
     93         return invocationListeners;
     94     }
     95 
     96     public boolean isStubOnly() {
     97         return stubOnly;
     98     }
     99 
    100 }
    101