package org.angularjs.index;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.util.io.DataExternalizer;
import com.intellij.util.io.DataInputOutputUtil;
import org.jetbrains.annotations.NotNull;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
/**
* @author Irina.Chernushina on 3/17/2016.
*/
public class AngularViewDefinitionExternalizer implements DataExternalizer<AngularNamedItemDefinition> {
public static final AngularViewDefinitionExternalizer INSTANCE = new AngularViewDefinitionExternalizer();
@Override
public void save(@NotNull DataOutput out, AngularNamedItemDefinition value) throws IOException {
out.writeUTF(StringUtil.notNullize(value.getName()));
DataInputOutputUtil.writeLONG(out, value.getStartOffset());
}
@Override
public AngularNamedItemDefinition read(@NotNull DataInput in) throws IOException {
final String name = in.readUTF();
final long offset = DataInputOutputUtil.readLONG(in);
return new AngularNamedItemDefinition(name, offset);
}
}