Project

General

Profile

1
package eu.dnetlib.data.graph.model;
2

    
3
import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
4
import eu.dnetlib.data.proto.DNGFProtos.DNGFRel;
5
import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
6
import eu.dnetlib.data.proto.TypeProtos.Type;
7

    
8
public class DNGFRelDecoder {
9

    
10
	private final DNGFRel dgnfRel;
11

    
12
	private DNGFRelDecoder(final DNGFRel DNGFRel) {
13
		this.dgnfRel = DNGFRel;
14
	}
15

    
16
	public static DNGFRelDecoder decode(final DNGFRel DNGFRel) {
17
		return new DNGFRelDecoder(DNGFRel);
18
	}
19

    
20
	public Qualifier getRelType() {
21
		return dgnfRel.getRelType();
22
	}
23

    
24
	public String getRelClass() {
25
		return dgnfRel.getRelType().getClassid();
26
	}
27

    
28
	public String getRelScheme() {
29
		return dgnfRel.getRelType().getSchemeid();
30
	}
31

    
32
	public DNGFRel.Builder setClassId(final String classId) {
33
		final DNGFRel.Builder relBuilder = DNGFRel.newBuilder(dgnfRel);
34
		relBuilder.getRelTypeBuilder().setClassid(classId);
35
		return relBuilder;
36
	}
37

    
38
	public Type getTargetType() {
39
		return dgnfRel.getTargetType();
40
	}
41

    
42
	public Type getSourceType() {
43
		return dgnfRel.getSourceType();
44
	}
45

    
46
//	protected FieldDescriptor fd(final MessageOrBuilder mb, final int fieldNumber) {
47
//		return mb.getDescriptorForType().findFieldByNumber(fieldNumber);
48
//	}
49
//
50
//	protected FieldDescriptor fd(final MessageOrBuilder mb, final String fieldName) {
51
//		return mb.getDescriptorForType().findFieldByName(fieldName);
52
//	}
53

    
54
	public String getCachedTargedId() {
55

    
56
		if (!dgnfRel.hasCachedTarget()) return null;
57

    
58
		final DNGFEntity entity = dgnfRel.getCachedTarget();
59
		return DNGFEntityDecoder.decode(entity).getId();
60
	}
61

    
62
	public String getRelSourceId() {
63
		return dgnfRel.getSource();
64
	}
65

    
66
	public String getRelTargetId() {
67
		return dgnfRel.getTarget();
68
	}
69

    
70
}
(3-3/4)