# HG changeset patch # User František Kučera # Date 1375804260 -7200 # Node ID 63b496ae04f9b664582511ecb9a52ee77097e65f # Parent c681a3a6cbac83f4f3a93e390752b321bcfe0b5a LangTable – viz https://www.abclinuxu.cz/clanky/ze-4-s-na-0-9-s-programovaci-jazyk-vala-v-praxi diff -r c681a3a6cbac -r 63b496ae04f9 java/LangTable/src/cz/frantovo/langtable/Keyboards.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/java/LangTable/src/cz/frantovo/langtable/Keyboards.java Tue Aug 06 17:51:00 2013 +0200 @@ -0,0 +1,149 @@ +package cz.frantovo.langtable; + +import java.util.List; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementWrapper; +import javax.xml.bind.annotation.XmlRootElement; + +/** + * + * @author Ing. František Kučera (frantovo.cz) + */ +@XmlRootElement +public class Keyboards { + + private List keyboards; + + @XmlElement(name = "keyboard") + public List getKeyboards() { + return keyboards; + } + + public void setKeyboards(List keyboards) { + this.keyboards = keyboards; + } + + public static class Keyboard { + + private String id; + private String description; + private String comment; + private boolean ascii; + private List languages; + private List territories; + + @XmlElement(name = "keyboardId") + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + @XmlElement + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + @XmlElement + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } + + @XmlElement + public boolean isAscii() { + return ascii; + } + + public void setAscii(boolean ascii) { + this.ascii = ascii; + } + + @XmlElement(name = "language") + @XmlElementWrapper(name = "languages") + public List getLanguages() { + return languages; + } + + public void setLanguages(List languages) { + this.languages = languages; + } + + @XmlElement(name = "territory") + @XmlElementWrapper(name = "territories") + public List getTerritories() { + return territories; + } + + public void setTerritories(List territories) { + this.territories = territories; + } + } + + public static class Language { + + private String id; + private int rank; + + @XmlElement(name = "languageId") + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + @XmlElement + public int getRank() { + return rank; + } + + public void setRank(int rank) { + this.rank = rank; + } + + @Override + public String toString() { + return getId() + " (" + getRank() + ")"; + } + } + + public static class Territory { + + private String id; + private int rank; + + @XmlElement(name = "territoryId") + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + @XmlElement + public int getRank() { + return rank; + } + + public void setRank(int rank) { + this.rank = rank; + } + + @Override + public String toString() { + return getId() + " (" + getRank() + ")"; + } + } +} diff -r c681a3a6cbac -r 63b496ae04f9 java/LangTable/src/cz/frantovo/langtable/LangTable.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/java/LangTable/src/cz/frantovo/langtable/LangTable.java Tue Aug 06 17:51:00 2013 +0200 @@ -0,0 +1,51 @@ +package cz.frantovo.langtable; + +import cz.frantovo.langtable.Keyboards.*; +import java.io.File; +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Unmarshaller; + +/** + * + * @author Ing. František Kučera (frantovo.cz) + */ +public class LangTable { + + /** + * @param args the command line arguments + */ + public static void main(String[] args) throws JAXBException { + + + JAXBContext c = JAXBContext.newInstance(Keyboards.class); + Unmarshaller u = c.createUnmarshaller(); + + long start = System.currentTimeMillis(); + Object o = u.unmarshal(new File("data/keyboards.xml")); + System.out.println("Time: " + (System.currentTimeMillis() - start) + " ms"); + + Keyboards keyboards = (Keyboards) o; + + for (Keyboard k : keyboards.getKeyboards()) { + System.out.println(k.getId()); + System.out.println(" " + k.getDescription()); + System.out.println(" " + k.getComment()); + System.out.println(" " + k.isAscii()); + + System.out.println(" languages: " + k.getLanguages().size()); + for (Language l : k.getLanguages()) { + System.out.println(" " + l); + } + + System.out.println(" territories: " + k.getTerritories().size()); + for (Territory t : k.getTerritories()) { + System.out.println(" " + t); + } + } + + + + + } +}