package org.infernus.idea.checkstyle.service;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import org.infernus.idea.checkstyle.model.ConfigurationLocation;
import org.infernus.idea.checkstyle.model.ConfigurationType;
import org.jetbrains.annotations.NotNull;
public class StringConfigurationLocation
extends ConfigurationLocation
{
private final String configurationXml;
public StringConfigurationLocation(@NotNull final String pConfigurationXml) {
super(ConfigurationType.LOCAL_FILE);
setDescription("In-memory String-based configuration: " + //
pConfigurationXml.substring(0, Math.min(100, pConfigurationXml.length())) + " ...");
configurationXml = pConfigurationXml;
}
@NotNull
@Override
protected InputStream resolveFile() throws IOException {
return new ByteArrayInputStream(configurationXml.getBytes(StandardCharsets.UTF_8));
}
@Override
public StringConfigurationLocation clone() {
return new StringConfigurationLocation(configurationXml);
}
}