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

com.threatconnect.sdk.parser.service.writer.CustomIndicatorWriter Maven / Gradle / Ivy

There is a newer version: 2.9.0
Show newest version
package com.threatconnect.sdk.parser.service.writer;

import com.threatconnect.sdk.client.reader.AbstractIndicatorReaderAdapter;
import com.threatconnect.sdk.client.reader.ReaderAdapterFactory;
import com.threatconnect.sdk.client.writer.AbstractIndicatorWriterAdapter;
import com.threatconnect.sdk.client.writer.WriterAdapterFactory;
import com.threatconnect.sdk.conn.Connection;
import com.threatconnect.sdk.model.CustomIndicator;

public class CustomIndicatorWriter
	extends IndicatorWriter
{
	public CustomIndicatorWriter(final Connection connection, final CustomIndicator customIndicator)
	{
		super(connection, customIndicator, com.threatconnect.sdk.server.entity.CustomIndicator.class);
	}
	
	@Override
	protected String buildID()
	{
		return indicatorSource.getIdentifier();
	}
	
	@Override
	protected AbstractIndicatorReaderAdapter createReaderAdapter()
	{
		return ReaderAdapterFactory.createCustomIndicatorReader(connection, getApiBranch());
	}
	
	@Override
	protected AbstractIndicatorWriterAdapter createWriterAdapter()
	{
		return WriterAdapterFactory.createCustomIndicatorWriter(connection, getApiBranch());
	}
	
	private String getApiBranch()
	{
		switch (indicatorSource.getIndicatorType())
		{
			case "Mutex":
				return "mutexes";
			case "Cidr":
				return "cidrBlocks";
			case "Email Subject":
				return "emailSubject";
			default:
				return indicatorSource.getIndicatorType();
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy