ttomcat-1778514358873.zip-extract/_dependencies/maven/junit_junit-4.13.2/org/junit/internal/SerializableMatcherDescription.java

Path
ttomcat-1778514358873.zip-extract/_dependencies/maven/junit_junit-4.13.2/org/junit/internal/SerializableMatcherDescription.java
Status
scanned
Type
file
Name
SerializableMatcherDescription.java
Extension
.java
Programming language
Java
Mime type
text/x-java
File type
Java source, ASCII text
Tag

      
    
Rootfs path

      
    
Size
1902 (1.9 KB)
MD5
8366255111ac7a61d596f898b6b1500b
SHA1
3c05abc2644be8af20b08cff11510b94825ebff3
SHA256
04ded914cc954760121bd55f1519a949226a7d8e847c0b5919c577d8e8c74008
SHA512

      
    
SHA1_git
e0365572001cf20194b95bdc5581064561ed5398
Is binary

      
    
Is text
True
Is archive

      
    
Is media

      
    
Is legal

      
    
Is manifest

      
    
Is readme

      
    
Is top level

      
    
Is key file

      
    
SerializableMatcherDescription.java | 1.9 KB |

package org.junit.internal; import java.io.Serializable; import org.hamcrest.BaseMatcher; import org.hamcrest.Description; import org.hamcrest.Matcher; import org.hamcrest.StringDescription; /** * This class exists solely to provide a serializable description of a matcher to be serialized as a field in * {@link AssumptionViolatedException}. Being a {@link Throwable}, it is required to be {@link Serializable}, but most * implementations of {@link Matcher} are not. This class works around that limitation as * {@link AssumptionViolatedException} only every uses the description of the {@link Matcher}, while still retaining * backwards compatibility with classes compiled against its class signature before 4.14 and/or deserialization of * previously serialized instances. */ class SerializableMatcherDescription<T> extends BaseMatcher<T> implements Serializable { private final String matcherDescription; private SerializableMatcherDescription(Matcher<T> matcher) { matcherDescription = StringDescription.asString(matcher); } public boolean matches(Object o) { throw new UnsupportedOperationException("This Matcher implementation only captures the description"); } public void describeTo(Description description) { description.appendText(matcherDescription); } /** * Factory method that checks to see if the matcher is already serializable. * @param matcher the matcher to make serializable * @return The provided matcher if it is null or already serializable, * the SerializableMatcherDescription representation of it if it is not. */ static <T> Matcher<T> asSerializableMatcher(Matcher<T> matcher) { if (matcher == null || matcher instanceof Serializable) { return matcher; } else { return new SerializableMatcherDescription<T>(matcher); } } }