public static class Builder implements org.apache.logging.log4j.core.util.Builder<ValidatingPlugin> { @PluginBuilderAttribute @Required(message = "The name given by the builder is null") private String name; public Builder withName(final String name) { this.name = name; return this; } @Override public ValidatingPlugin build() { return new ValidatingPlugin(name); } } }
public static abstract class Builder<B extends Builder<B>> { @PluginBuilderAttribute @Required(message = "The thing given by the builder is null") private String thing; @SuppressWarnings("unchecked") public B asBuilder() { return (B) this; } public String getThing() { return thing; } public B withThing(final String name) { this.thing = name; return asBuilder(); } }
public static class Builder<T> implements org.apache.logging.log4j.core.util.Builder<ValidatingPluginWithTypedBuilder> { @PluginBuilderAttribute @Required(message = "The name given by the builder is null") private String name; public Builder<T> withName(final String name) { this.name = name; return this; } @Override public ValidatingPluginWithTypedBuilder build() { return new ValidatingPluginWithTypedBuilder(name); } } }
public static class Builder<B extends Builder<B>> implements org.apache.logging.log4j.core.util.Builder<ValidatingPluginWithGenericBuilder> { @PluginBuilderAttribute @Required(message = "The name given by the builder is null") private String name; public B withName(final String name) { this.name = name; return asBuilder(); } @SuppressWarnings("unchecked") public B asBuilder() { return (B) this; } @Override public ValidatingPluginWithGenericBuilder build() { return new ValidatingPluginWithGenericBuilder(name); } } }
public static class Builder<B extends Builder<B>> extends AbstractPluginWithGenericBuilder.Builder<B> implements org.apache.logging.log4j.core.util.Builder<PluginWithGenericSubclassFoo1Builder> { @PluginBuilderFactory public static <B extends Builder<B>> B newBuilder() { return new Builder<B>().asBuilder(); } @PluginBuilderAttribute @Required(message = "The foo1 given by the builder is null") private String foo1; @Override public PluginWithGenericSubclassFoo1Builder build() { return new PluginWithGenericSubclassFoo1Builder(getThing(), getFoo1()); } public String getFoo1() { return foo1; } public B withFoo1(final String foo1) { this.foo1 = foo1; return asBuilder(); } }
@PluginFactory public static ValidatingPlugin newValidatingPlugin( @Required(message = "The name given by the factory is null") final String name) { return new ValidatingPlugin(name); }
@PluginFactory public static ValidatingPluginWithTypedBuilder newValidatingPlugin( @Required(message = "The name given by the factory is null") final String name) { return new ValidatingPluginWithTypedBuilder(name); }
@PluginFactory public static ValidatingPluginWithGenericBuilder newValidatingPlugin( @Required(message = "The name given by the factory is null") final String name) { return new ValidatingPluginWithGenericBuilder(name); }
@PluginFactory public static DeadlockAppender createAppender( @PluginAttribute("name") @Required(message = "A name for the Appender must be specified") final String name) { return new DeadlockAppender(name); }
@PluginFactory public static FailOnceAppender createAppender( @PluginAttribute("name") @Required(message = "A name for the Appender must be specified") final String name) { return new FailOnceAppender(name); }
@PluginFactory public static AlwaysFailAppender createAppender( @PluginAttribute("name") @Required(message = "A name for the Appender must be specified") final String name) { return new AlwaysFailAppender(name); }
@PluginFactory public static BlockingAppender createAppender( @PluginAttribute("name") @Required(message = "A name for the Appender must be specified") final String name) { return new BlockingAppender(name); } }
@Required private Target target = DEFAULT_TARGET;
@PluginFactory public static BlockingAppender createAppender( @PluginAttribute("name") @Required(message = "No name provided for HangingAppender") final String name, @PluginElement("Layout") final Layout<? extends Serializable> layout, @PluginElement("Filter") final Filter filter) { return new BlockingAppender(name); }
@PluginFactory public static UsesLoggingAppender createAppender( @PluginAttribute("name") @Required(message = "A name for the Appender must be specified") final String name, @PluginAttribute("ignoreExceptions") final boolean ignore, @PluginElement("Layout") final Layout<?> layout, @PluginElement("Filter") final Filter filter) { return new UsesLoggingAppender(name, filter, layout, ignore); }
@PluginFactory public static HangingAppender createAppender( @PluginAttribute("name") @Required(message = "No name provided for HangingAppender") final String name, @PluginAttribute("delay") final long delay, @PluginAttribute("startupDelay") final long startupDelay, @PluginAttribute("shutdownDelay") final long shutdownDelay, @PluginElement("Layout") final Layout<? extends Serializable> layout, @PluginElement("Filter") final Filter filter) { return new HangingAppender(name, delay, startupDelay, shutdownDelay); }
public static class Builder implements org.apache.logging.log4j.core.util.Builder<ListAppender> { @Required private String name;
@PluginFactory public static EventHubsAppender createAppender( @Required(message = "Provide a Name for EventHubs Log4j Appender") @PluginAttribute("name") final String name, @PluginElement("Filter") final Filter filter, @PluginElement("Layout") final Layout<? extends Serializable> layout, @PluginAttribute(value = "ignoreExceptions", defaultBoolean = true) final boolean ignoreExceptions, @Required(message = "Provide EventHub connection string to append the events to") @PluginAttribute("eventHubConnectionString") final String connectionString, @PluginAttribute(value = "immediateFlush", defaultBoolean = false) final boolean immediateFlush) { final EventHubsManager eventHubsManager = new EventHubsManager(name, connectionString); return new EventHubsAppender(name, filter, layout, ignoreExceptions, eventHubsManager, immediateFlush); }