test_class.file: api/src/test/java/net/kyori/adventure/text/AbstractComponentTest.java
test_class.identifier: AbstractComponentTest
test_case.body: @Test
    void testStyledIfAbsentOnTarget() {
      final Component c0 = this.builder().color(NamedTextColor.RED).decoration(TextDecoration.STRIKETHROUGH, true).build();
      final Component c1 = c0.style(style -> {
        style.color(NamedTextColor.GREEN);
        style.decoration(TextDecoration.BOLD, false);
      }, Style.Merge.Strategy.IF_ABSENT_ON_TARGET);
      assertEquals(NamedTextColor.GREEN, c1.color());
      TextAssertions.assertDecorations(c1, ImmutableSet.of(TextDecoration.STRIKETHROUGH), ImmutableSet.of(TextDecoration.BOLD));
      final Component c2 = c0.style(style -> {
        style.decoration(TextDecoration.BOLD, false);
      }, Style.Merge.Strategy.IF_ABSENT_ON_TARGET);
      assertEquals(NamedTextColor.RED, c2.color());
      TextAssertions.assertDecorations(c2, ImmutableSet.of(TextDecoration.STRIKETHROUGH), ImmutableSet.of(TextDecoration.BOLD));
    }
test_case.class_method_signature: AbstractComponentTest.testStyledIfAbsentOnTarget()
test_case.full_signature: @Test void testStyledIfAbsentOnTarget()
test_case.identifier: testStyledIfAbsentOnTarget
test_case.invocations: build decoration color builder style color decoration assertEquals color assertDecorations of of style decoration assertEquals color assertDecorations of of
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void testStyledIfAbsentOnTarget()
focal_class.declarator: children
focal_class.modifier: protected final
focal_class.original_string: protected final List<Component> children;
focal_class.type: List<Component>
focal_class.var_name: children
focal_class.declarator: style
focal_class.modifier: protected final
focal_class.original_string: protected final Style style;
focal_class.type: Style
focal_class.var_name: style
focal_class.file: api/src/main/java/net/kyori/adventure/text/AbstractComponent.java
focal_class.identifier: AbstractComponent
focal_class.interfaces: implements Component, Examinable
focal_class.class_method_signature: AbstractComponent.asComponents(final List<? extends ComponentLike> list)
focal_class.full_signature: static List<Component> asComponents(final List<? extends ComponentLike> list)
focal_class.identifier: asComponents
focal_class.modifiers: static
focal_class.parameters: (final List<? extends ComponentLike> list)
focal_class.return: List<Component>
focal_class.signature: List<Component> asComponents(final List<? extends ComponentLike> list)
focal_class.class_method_signature: AbstractComponent.addOne(final List<T> oldList, final T newElement)
focal_class.full_signature: static List<T> addOne(final List<T> oldList, final T newElement)
focal_class.identifier: addOne
focal_class.modifiers: static
focal_class.parameters: (final List<T> oldList, final T newElement)
focal_class.return: List<T>
focal_class.signature: List<T> addOne(final List<T> oldList, final T newElement)
focal_class.class_method_signature: AbstractComponent.AbstractComponent(final @NonNull List<? extends ComponentLike> children, final @NonNull Style style)
focal_class.full_signature: protected  AbstractComponent(final @NonNull List<? extends ComponentLike> children, final @NonNull Style style)
focal_class.identifier: AbstractComponent
focal_class.modifiers: protected
focal_class.parameters: (final @NonNull List<? extends ComponentLike> children, final @NonNull Style style)
focal_class.signature:  AbstractComponent(final @NonNull List<? extends ComponentLike> children, final @NonNull Style style)
focal_class.class_method_signature: AbstractComponent.children()
focal_class.full_signature: @Override public final @NonNull List<Component> children()
focal_class.identifier: children
focal_class.modifiers: @Override public final @NonNull
focal_class.parameters: ()
focal_class.return: List<Component>
focal_class.signature: List<Component> children()
focal_class.class_method_signature: AbstractComponent.style()
focal_class.full_signature: @Override public final @NonNull Style style()
focal_class.identifier: style
focal_class.modifiers: @Override public final @NonNull
focal_class.parameters: ()
focal_class.return: Style
focal_class.signature: Style style()
focal_class.class_method_signature: AbstractComponent.replaceText(final @NonNull Pattern pattern, final @NonNull Function<TextComponent.Builder, @Nullable ComponentLike> replacement, final @NonNull IntFunction2<PatternReplacementResult> fn)
focal_class.full_signature: @Override public @NonNull Component replaceText(final @NonNull Pattern pattern, final @NonNull Function<TextComponent.Builder, @Nullable ComponentLike> replacement, final @NonNull IntFunction2<PatternReplacementResult> fn)
focal_class.identifier: replaceText
focal_class.modifiers: @Override public @NonNull
focal_class.parameters: (final @NonNull Pattern pattern, final @NonNull Function<TextComponent.Builder, @Nullable ComponentLike> replacement, final @NonNull IntFunction2<PatternReplacementResult> fn)
focal_class.return: Component
focal_class.signature: Component replaceText(final @NonNull Pattern pattern, final @NonNull Function<TextComponent.Builder, @Nullable ComponentLike> replacement, final @NonNull IntFunction2<PatternReplacementResult> fn)
focal_class.class_method_signature: AbstractComponent.equals(final @Nullable Object other)
focal_class.full_signature: @Override public boolean equals(final @Nullable Object other)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (final @Nullable Object other)
focal_class.return: boolean
focal_class.signature: boolean equals(final @Nullable Object other)
focal_class.class_method_signature: AbstractComponent.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: AbstractComponent.examinableProperties()
focal_class.full_signature: @Override public @NonNull Stream<? extends ExaminableProperty> examinableProperties()
focal_class.identifier: examinableProperties
focal_class.modifiers: @Override public @NonNull
focal_class.parameters: ()
focal_class.return: Stream<? extends ExaminableProperty>
focal_class.signature: Stream<? extends ExaminableProperty> examinableProperties()
focal_class.class_method_signature: AbstractComponent.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_method.body: @Override
    public final @NonNull Style style() {
      return this.style;
    }
focal_method.class_method_signature: AbstractComponent.style()
focal_method.full_signature: @Override public final @NonNull Style style()
focal_method.identifier: style
focal_method.modifiers: @Override public final @NonNull
focal_method.parameters: ()
focal_method.return: Style
focal_method.signature: Style style()