package ru.kirillius.pf.sdn.core.Subscription;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import ru.kirillius.json.JSONProperty;
import ru.kirillius.json.JSONSerializable;

/**
 * Describes a subscription source with its name, implementation type, and origin descriptor.
 */
@NoArgsConstructor
@AllArgsConstructor
@JSONSerializable
public class RepositoryConfig {
    @Setter
    @Getter
    @JSONProperty
    private String name;

    @Setter
    @Getter
    @JSONProperty
    private Class<?> type;

    @Setter
    @Getter
    @JSONProperty
    private String source;

    @Setter
    @Getter
    @JSONProperty(required = false)
    private String script = "";
}
