// Path: src/main/java/org/nextrtc/signalingserver/Names.java
// public interface Names {
//     String EVENT_BUS = "nextRTCEventBus";
//     String EVENT_DISPATCHER = "nextRTCEventDispatcher";
// 
//     String SCHEDULER_SIZE = "${nextrtc.scheduler_size:10}";
//     String SCHEDULER_NAME = "nextRTCPingScheduler";
//     String SCHEDULED_PERIOD = "${nextrtc.ping_period:3}";
//     String MAX_CONNECTION_SETUP_TIME = "${nextrtc.max_connection_setup_time:30}";
//     String JOIN_ONLY_TO_EXISTING = "${nextrtc.join_only_to_existing:false}";
// 
//     String DEFAULT_CONVERSATION_TYPE = "${nextrtc.default_conversation_type:MESH}";
// }


import lombok.Getter;
import org.nextrtc.signalingserver.Names;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
package org.nextrtc.signalingserver.property;


@Getter
@Component
public class SpringNextRTCProperties implements NextRTCProperties {

    @Value(Names.MAX_CONNECTION_SETUP_TIME)
    private int maxConnectionSetupTime;

    @Value(Names.SCHEDULED_PERIOD)
    private int pingPeriod;

    @Value(Names.SCHEDULER_SIZE)
    private int schedulerPoolSize;

// Path: src/main/java/org/nextrtc/signalingserver/Names.java
// public interface Names {
//     String EVENT_BUS = "nextRTCEventBus";
//     String EVENT_DISPATCHER = "nextRTCEventDispatcher";
// 
//     String SCHEDULER_SIZE = "${nextrtc.scheduler_size:10}";
//     String SCHEDULER_NAME = "nextRTCPingScheduler";
//     String SCHEDULED_PERIOD = "${nextrtc.ping_period:3}";
//     String MAX_CONNECTION_SETUP_TIME = "${nextrtc.max_connection_setup_time:30}";
//     String JOIN_ONLY_TO_EXISTING = "${nextrtc.join_only_to_existing:false}";
// 
//     String DEFAULT_CONVERSATION_TYPE = "${nextrtc.default_conversation_type:MESH}";
// }


// Path: src/main/java/org/nextrtc/signalingserver/property/SpringNextRTCProperties.java
import lombok.Getter;
import org.nextrtc.signalingserver.Names;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

package org.nextrtc.signalingserver.property;


@Getter
@Component
public class SpringNextRTCProperties implements NextRTCProperties {

    @Value(Names.MAX_CONNECTION_SETUP_TIME)
    private int maxConnectionSetupTime;

    @Value(Names.SCHEDULED_PERIOD)
    private int pingPeriod;

    @Value(Names.SCHEDULER_SIZE)
    private int schedulerPoolSize;

    @Value(Names.JOIN_ONLY_TO_EXISTING)