All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tvd12.ezymq.common.setting.EzyMQSettings Maven / Gradle / Ivy

The newest version!
package com.tvd12.ezymq.common.setting;

import com.tvd12.ezyfox.builder.EzyBuilder;
import com.tvd12.ezyfox.util.EzyPropertiesKeeper;
import com.tvd12.ezymq.common.EzyMQProxyBuilder;
import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Properties;
import java.util.Set;

@Getter
@AllArgsConstructor
@SuppressWarnings("rawtypes")
public abstract class EzyMQSettings {

    protected final Properties properties;

    public abstract Set getMessageTypes();

    public abstract static class Builder<
        S extends EzyMQSettings,
        B extends Builder
        >
        extends EzyPropertiesKeeper
        implements EzyBuilder {

        protected final EzyMQProxyBuilder parent;

        public Builder(EzyMQProxyBuilder parent) {
            this.parent = parent;
        }

        public EzyMQProxyBuilder parent() {
            return parent;
        }
    }
}