Class TestTag

  • All Implemented Interfaces:
    java.io.Serializable

    @API(status=STABLE,
         since="1.0")
    public final class TestTag
    extends java.lang.Object
    implements java.io.Serializable
    Immutable value object for a tag that is assigned to a test or container.
    Since:
    1.0
    See Also:
    isValid(String), create(String), Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.util.Set<java.lang.String> RESERVED_CHARACTERS
      Reserved characters that are not permissible as part of a tag name.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static TestTag create​(java.lang.String name)
      Create a TestTag from the supplied name.
      boolean equals​(java.lang.Object obj)  
      java.lang.String getName()
      Get the name of this tag.
      int hashCode()  
      static boolean isValid​(java.lang.String name)
      Determine if the supplied tag name is valid with regard to the supported syntax for tags.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • RESERVED_CHARACTERS

        public static final java.util.Set<java.lang.String> RESERVED_CHARACTERS
        Reserved characters that are not permissible as part of a tag name.
        • ,: comma
        • (: left parenthesis
        • ): right parenthesis
        • &: ampersand
        • |: vertical bar
        • !: exclamation point
    • Method Detail

      • isValid

        public static boolean isValid​(java.lang.String name)
        Determine if the supplied tag name is valid with regard to the supported syntax for tags.

        Syntax Rules for Tags

        • A tag must not be null.
        • A tag must not be blank.
        • A trimmed tag must not contain whitespace.
        • A trimmed tag must not contain ISO control characters.
        • A trimmed tag must not contain reserved characters.

        If this method returns true for a given name, it is then a valid candidate for the create() factory method.

        Parameters:
        name - the name of the tag to validate; may be null or blank
        Returns:
        true if the supplied tag name conforms to the supported syntax for tags
        See Also:
        StringUtils.isNotBlank(String), String.trim(), StringUtils.doesNotContainWhitespace(String), StringUtils.doesNotContainIsoControlCharacter(String), RESERVED_CHARACTERS, create(String)
      • create

        public static TestTag create​(java.lang.String name)
                              throws org.junit.platform.commons.util.PreconditionViolationException
        Create a TestTag from the supplied name.

        Consider checking whether the syntax of the supplied name is valid before attempting to create a TestTag using this factory method.

        Note: the supplied name will be trimmed.

        Parameters:
        name - the name of the tag; must be syntactically valid
        Throws:
        org.junit.platform.commons.util.PreconditionViolationException - if the supplied tag name is not syntactically valid
        See Also:
        isValid(String)
      • getName

        public java.lang.String getName()
        Get the name of this tag.
        Returns:
        the name of this tag; never null or blank
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object