package org.eclipselab.emf.ecore.protobuf.tests.library.util; import com.google.protobuf.*; import com.google.protobuf.Descriptors.*; import org.eclipse.emf.ecore.*; import org.eclipselab.emf.ecore.protobuf.conversion.*; import org.eclipselab.emf.ecore.protobuf.tests.library.*; public class AuthorFromProtobufConverter extends FromProtoBufMessageConverter<LibraryProtos.Author, Author> implements Converter.WithRegistry { @Override @SuppressWarnings("unchecked") public void setRegistry(ConverterRegistry registry) { } @Override public void setObjectPool(EObjectPool pool) { super.setObjectPool(pool); } @Override public boolean supports(Descriptor sourceType, EClass targetType) { return LibraryProtos.Author.getDescriptor() == sourceType && LibraryPackage.Literals.AUTHOR == targetType; } @Override public Author convert(final Descriptor sourceType, final LibraryProtos.Author source, final EClass targetType) { final Author result = (Author) pool.getObject(LibraryPackage.Literals.AUTHOR, source.getId()); if(source.hasName()) { result.setName((java.lang.String) source.getName()); } return result; } @Override protected EClass getTargetType(Descriptor sourceType) { return LibraryPackage.Literals.AUTHOR; } @Override public LibraryProtos.Author doLoad(Descriptor sourceType, ExtensionRegistry extensions, ByteString data) throws InvalidProtocolBufferException { return LibraryProtos.Author.parseFrom(data, extensions); } }