Package org.assertj.core.internal
Class TypeMessages
- java.lang.Object
-
- org.assertj.core.internal.TypeHolder<java.lang.String>
-
- org.assertj.core.internal.TypeMessages
-
public class TypeMessages extends TypeHolder<java.lang.String>
An internal holder of the custom message for type. It is used to store messages for registered classes. When looking for a message for a given class the holder returns the most relevant comparator.
-
-
Field Summary
-
Fields inherited from class org.assertj.core.internal.TypeHolder
typeHolder
-
-
Constructor Summary
Constructors Constructor Description TypeMessages()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getMessageForType(java.lang.Class<?> clazz)
This method returns the most relevant error message for the given class.boolean
hasMessageForType(java.lang.Class<?> type)
Checks, whether an any custom error message is associated with the giving type.java.util.stream.Stream<java.util.Map.Entry<java.lang.Class<?>,java.lang.String>>
messageByTypes()
Returns a sequence of all type-message pairs which the current holder supplies.<T> void
registerMessage(java.lang.Class<T> clazz, java.lang.String message)
Puts themessage
for the givenclazz
.-
Methods inherited from class org.assertj.core.internal.TypeHolder
clear, entityByTypes, equals, get, hasEntity, hashCode, isEmpty, put, toString
-
-
-
-
Method Detail
-
getMessageForType
public java.lang.String getMessageForType(java.lang.Class<?> clazz)
This method returns the most relevant error message for the given class. The most relevant message is the message which is registered for the class that is closest in the inheritance chain of the givenclazz
. The order of checks is the following: 1. If there is a registered message forclazz
then this one is used 2. We check if there is a registered message for a superclass ofclazz
3. We check if there is a registered message for an interface ofclazz
- Parameters:
clazz
- the class for which to find an error message- Returns:
- the most relevant error message, or
null
if no message could be found
-
hasMessageForType
public boolean hasMessageForType(java.lang.Class<?> type)
Checks, whether an any custom error message is associated with the giving type.- Parameters:
type
- the type for which to check a error message- Returns:
- is the giving type associated with any custom error message
-
registerMessage
public <T> void registerMessage(java.lang.Class<T> clazz, java.lang.String message)
Puts themessage
for the givenclazz
.- Type Parameters:
T
- the type of the objects to associate with the message for- Parameters:
clazz
- the class for the error messagemessage
- the error message itself
-
messageByTypes
public java.util.stream.Stream<java.util.Map.Entry<java.lang.Class<?>,java.lang.String>> messageByTypes()
Returns a sequence of all type-message pairs which the current holder supplies.- Returns:
- sequence of field-message pairs
-
-