package ${package};
${imports}
/**
 * {@link ${class_to_assert}} specific assertions - Generated by CustomAssertionGenerator.
 */
@edu.hm.hafner.util.Generated(value="assertj-assertions-generator")
public class ${custom_assertion_class} extends AbstractObjectAssert<${custom_assertion_class}, ${class_to_assert}> {

  /**
   * Creates a new <code>{@link ${custom_assertion_class}}</code> to make assertions on actual ${class_to_assert}.
   * @param actual the ${class_to_assert} we want to make assertions on.
   */
  public ${custom_assertion_class}(${class_to_assert} actual) {
    super(actual, ${custom_assertion_class}.class);
  }

  /**
   * An entry point for ${custom_assertion_class} to follow AssertJ standard <code>assertThat()</code> statements.<br>
   * With a static import, one can write directly: <code>assertThat(my${class_to_assert})</code> and get specific assertion with code completion.
   * @param actual the ${class_to_assert} we want to make assertions on.
   * @return a new <code>{@link ${custom_assertion_class}}</code>
   */
  @org.assertj.core.util.CheckReturnValue
  public static ${custom_assertion_class} assertThat(${class_to_assert} actual) {
    return new ${custom_assertion_class}(actual);
  }
