1
|
/**
|
2
|
*
|
3
|
*/
|
4
|
package org.bgbm.utis.jackson;
|
5
|
|
6
|
import org.cybertaxonomy.utis.tnr.msg.Classification;
|
7
|
|
8
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
9
|
|
10
|
/**
|
11
|
* This mixin class can only be used for serialization.
|
12
|
*
|
13
|
* Only method (and field) name and signature are used for matching
|
14
|
* annotations: access definitions (private etc) and method
|
15
|
* implementations are ignored. (hint: if you can, it often makes sense
|
16
|
* to define mix-in class as an [abstract?] sub-class of target class,
|
17
|
* and use @Override JDK annotation to ensure method name and signature
|
18
|
* match!)
|
19
|
*
|
20
|
* see
|
21
|
* http://www.cowtowncoder.com/blog/archives/2009/08/entry_305.html
|
22
|
*
|
23
|
* @author a.kohlbecker
|
24
|
*
|
25
|
*/
|
26
|
public abstract class ClassificationMixIn extends Classification {
|
27
|
|
28
|
@Override
|
29
|
@JsonProperty("class")
|
30
|
abstract public String getClazz(); // rename property
|
31
|
|
32
|
}
|