package com.onsemi.middleware.UECommon.model;

import java.util.Optional;

import com.onsemi.middleware.UECommon.cache.event.annotation.ClusterEventNotify;

import com.onsemi.middleware.UECommon.event.cluster.ConnectionJndiChangeEvent;

/**
 * This bean is used for FTP/SFTP/SCP settings for both inbound and outbound
 * 
 * I had to set seme defaults to nicely display things that are mandatory and not filled in for many records
 * @author fg444j
 *
 */
public class ConnectionJndiBeanFtp extends ConnectionJndiBeanPgp {

	@ClusterEventNotify({ ConnectionJndiChangeEvent.class })
	private String directory = "";
	@ClusterEventNotify({ ConnectionJndiChangeEvent.class })
	private String fileName = "";
	@ClusterEventNotify({ ConnectionJndiChangeEvent.class })
	private String charset;
	private String archive = "Y";
	@ClusterEventNotify({ ConnectionJndiChangeEvent.class })
	private String transferType;
	private String createTrigger = "N";
	@ClusterEventNotify({ ConnectionJndiChangeEvent.class })
	private String triggerExtension;
	@ClusterEventNotify({ ConnectionJndiChangeEvent.class })
	private String deleteFlg = "N";
	@ClusterEventNotify({ ConnectionJndiChangeEvent.class })
	private String siteCommand;
	@ClusterEventNotify({ ConnectionJndiChangeEvent.class })
	private String triggerExtensionPolicy;

	public ConnectionJndiBeanFtp() {
	}
	
	@Override
    public Optional<Class<? extends ConnectionBean>> getRelatedConnectionClass() {
    	return Optional.of(ConnectionBeanFtp.class);
    }

	public String getDirectory() {
		return directory;
	}
	public void setDirectory(String directory) {
		this.directory = directory;
	}
	public String getFileName() {
		return fileName;
	}
	public void setFileName(String fileName) {
		this.fileName = fileName;
	}
	public String getCharset() {
		return charset;
	}
	public void setCharset(String charset) {
		this.charset = charset;
	}
	
	public String getTriggerExtensionPolicy() {
		return triggerExtensionPolicy;
	}
	public void setTriggerExtensionPolicy(String triggerExtensionPolicy) {
		this.triggerExtensionPolicy = triggerExtensionPolicy;
	}
	public String getTransferType() {
		return transferType;
	}
	public void setTransferType(String transferType) {
		this.transferType = transferType;
	}
	
	public String getArchive() {
		return archive;
	}
	
	public void setArchive(String archive) {
		this.archive = archive;
	}
	
	public String getCreateTrigger() {
		return createTrigger;
	}
	
	public void setCreateTrigger(String createTrigger) {
		this.createTrigger = createTrigger;
	}
	
	public String getDeleteFlg() {
		return deleteFlg;
	}
	
	public void setDeleteFlg(String deleteFlg) {
		this.deleteFlg = deleteFlg;
	}
	
	public String getSiteCommand() {
		return siteCommand;
	}
	
	public void setSiteCommand(String siteCommand) {
		this.siteCommand = siteCommand;
	}
	

	public String getTriggerExtension() {
		return triggerExtension;
	}
	public void setTriggerExtension(String triggerExtension) {
		this.triggerExtension = triggerExtension;
	}
}
