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

nl.vpro.domain.media.update.TranscodeRequest Maven / Gradle / Ivy

Go to download

The basic domain classes for 'media', the core of POMS. Also, the 'update' XML bindings for it. It also contains some closely related domain classes like the enum to contain NICAM kijkwijzer settings.

There is a newer version: 8.3.1
Show newest version
package nl.vpro.domain.media.update;

import lombok.*;

import java.util.Arrays;
import java.util.List;

import jakarta.validation.constraints.NotNull;
import jakarta.xml.bind.annotation.*;

import nl.vpro.domain.media.*;
import nl.vpro.i18n.Displayable;

/**
 * @author Michiel Meeuwissen
 * @since 5.6
 */
@Data
@AllArgsConstructor
@lombok.Builder(builderClassName = "Builder")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "transcodeType")
@XmlRootElement(name = "transcode")
public class TranscodeRequest implements MediaIdentifiable {

    @NotNull
    @XmlAttribute
    private String mid;

    /**
     * File name. If starts with /, then it is prefixed by your ftp account name. Otherwise, the ftp account of POMS itself will be implicitly prefixed.
     */
    @NotNull
    private String fileName;


    @NotNull
    private Encryption encryption;

    @NotNull
    @lombok.Builder.Default
    private Priority priority = Priority.NORMAL;


    public TranscodeRequest() {

    }

    @Override
    public MediaType getMediaType() {
        return MediaType.MEDIA;
    }

    @Override
    public List getCrids() {
        return Arrays.asList();

    }

    public static class Builder {

    }

    @XmlType(name = "priorityType")
    public enum Priority implements Displayable {
        LOW("Laag"),
        NORMAL("Normaal"),
        HIGH("Hoog"),
        URGENT("Urgent")
        ;

        @Getter
        private final String displayName;

        Priority(String displayName) {
            this.displayName = displayName;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy