APIdia Launch Partner
Top Description Methods
jdk.jfr

public @Interface BooleanFlag

extends Annotation
Annotations
@MetadataDefinition
@ContentType
@Label:Flag
@Retention:RUNTIME
@Target:FIELD, TYPE, METHOD
Imports
java.lang.annotation.ElementType, .Retention, .RetentionPolicy, .Target

Event field annotation, specifies that the value is a boolean flag, a true or false value.

The following example shows how the BooleanFlag annotation can be used to describe that a setting is a boolean value. This information can be used by a graphical user interface to display the setting as a checkbox.

@BooleanFlag @Name("example.Rollback") @Label("Rollback") @Description("Include transactions that are rollbacked") public static class RollbackSetting extends SettingControl { private static final String DEFAULT_VALUE = "true"; private boolean value = true; @Override public String combine(Set<String> values) { if (values.contains("true")) { return "true"; } if (values.contains("false")) { return "false"; } return DEFAULT_VALUE; } @Override public void setValue(String value) { // Ignore invalid values if ("true".equals(value) || "false".equals(value)) { this.value = "true".equals(value); } } @Override public String getValue() { return Boolean.toString(value); } public boolean shouldEmit() { return value; } } @Name("example.Transaction") public static class TransactionEvent extends Event { @Label("Context") String context; @Label("Rollback") boolean rollback; @SettingDefinition @Name("rollback") public boolean rollback(RollbackSetting rollbackSetting) { return rollback && rollbackSetting.shouldEmit(); } }
@BooleanFlag
@Name("example.Rollback")
@Label("Rollback")
@Description("Include transactions that are rollbacked")
public static class RollbackSetting extends SettingControl {
    private static final String DEFAULT_VALUE = "true";
    private boolean value = true;

    @Override
    public String combine(Set<String> values) {
        if (values.contains("true")) {
            return "true";
        }
        if (values.contains("false")) {
            return "false";
        }
        return DEFAULT_VALUE;
    }

    @Override
    public void setValue(String value) {
        // Ignore invalid values
        if ("true".equals(value) || "false".equals(value)) {
            this.value = "true".equals(value);
        }
    }

    @Override
    public String getValue() {
        return Boolean.toString(value);
    }

    public boolean shouldEmit() {
        return value;
    }
}

@Name("example.Transaction")
public static class TransactionEvent extends Event {
    @Label("Context")
    String context;

    @Label("Rollback")
    boolean rollback;

    @SettingDefinition
    @Name("rollback")
    public boolean rollback(RollbackSetting rollbackSetting) {
        return rollback && rollbackSetting.shouldEmit();
    }
}
Since
9

Method Summary

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString