FlorestaTagInterpreter implements TagInterpreter { public String serialize(MorphologicalTag tag) { StringBuilder res = new StringBuilder(); if (tag.getClazzE() != null) { res.append(serializer(tag.getClazzE()) + SEP); } if (tag.getGenderE() != null) { res.append(serializer(tag.getGenderE()) + SEP); } if (tag.getTense() != null) { res.append(serializer(tag.getTense()) + SEP); } if (tag.getMood() != null && tag.getTense() == null) { res.append(serializer(tag.getMood()) + SEP); } if (tag.getPersonE() != null && tag.getNumberE() != null) { String s = serializer(tag.getPersonE()); if (!(s.contains("S") || s.contains("P"))) { res.append(s + serializer(tag.getNumberE()) + SEP); } else { res.append(s + SEP); } } else if (tag.getNumberE() != null) { res.append(serializer(tag.getNumberE()) + SEP); } if (tag.getCase() != null) { res.append(serializer(tag.getCase()) + SEP); } if (tag.getMood() != null && tag.getTense() != null) { res.append(serializer(tag.getMood()) + SEP); } if (tag.getPunctuation() != null) { res.append(serializer(tag.getPunctuation()) + SEP); } if (res.length() == 0) { LOGGER.error("Unable to serialize MorphologicalTag: " + tag); } if (res.length() > 1) { return res.substring(0, res.length() - 1); } else { return null; } } FlorestaTagInterpreter(); MorphologicalTag parseMorphologicalTag(String tagString); ChunkTag parseChunkTag(String tagString); SyntacticTag parseSyntacticTag(String tagString); String serialize(MorphologicalTag tag); String serialize(ChunkTag tag); String serialize(SyntacticTag tag); String serialize(SyntacticFunction tag); String serialize(ChunkFunction tag); String serialize(Class tag); String serialize(Gender tag); String serialize(Number tag); String serialize(Case tag); String serialize(Person tag); String serialize(Tense tag); String serialize(Mood tag); String serialize(Punctuation tag);  }
@Test public void testSerializeTag() { Set<Class> classes = new HashSet<Class>(table.values()); for (Class classTag : classes) { if (!classTag.equals(Class.PUNCTUATION_MARK)) { String value = ti.serialize(classTag); assertEquals("Failed to parse class tag: " + classTag, classTag, table.get(value)); } } }