1 package org.gnomekr.potron.service; 2 3 import java.io.IOException; 4 import java.io.Reader; 5 import java.io.Writer; 6 import java.util.List; 7 8 import org.gnomekr.potron.data.TranslatedEntry; 9 import org.gnomekr.potron.data.Translation; 10 import org.gnomekr.potron.parser.ParseException; 11 12 /*** 13 * ITranslationManager.java 14 * @author Xavier Cho 15 * @version $Revision 1.1 $ $Date: 2005/09/11 05:49:44 $ 16 */ 17 public interface ITranslationManager { 18 19 /*** 20 * @param translation 21 * @return 22 */ 23 long addTranslation(Translation translation); 24 25 /*** 26 * @param translation 27 * @param reader 28 * @return 29 */ 30 long addTranslation(Translation translation, Reader reader) 31 throws ParseException, IOException; 32 33 /*** 34 * Generate a "po" from all translated entries for the given translation. 35 * 36 * @param id the translation to export 37 * @param writer the writer object export to 38 * @throws IOException 39 */ 40 void exportTranslation(long id, Writer writer) throws IOException; 41 42 /*** 43 * @param id 44 * @return 45 */ 46 Translation getTranslation(long id); 47 48 /*** 49 * @param translation 50 */ 51 void updateTranslation(Translation translation); 52 53 /*** 54 * @param translation 55 * @param reader 56 * @throws ParseException 57 * @throws IOException 58 */ 59 void updateTranslation(Translation translation, Reader reader) 60 throws ParseException, IOException; 61 62 /*** 63 * @param id 64 */ 65 void removeTranslation(long id); 66 67 /*** 68 * @param translationId 69 * @return 70 */ 71 List<TranslatedEntry> getTranslatedEntries(long translationId); 72 73 /*** 74 * @param translationId 75 * @param includeCheckedOutEntries 76 * @return 77 */ 78 List<TranslatedEntry> getUntranslatedEntries( 79 long translationId, 80 boolean includeCheckedOutEntries); 81 82 /*** 83 * @param translationId 84 * @param includeCheckedOutEntries 85 * @return 86 */ 87 List<TranslatedEntry> getFuzzyEntries( 88 long translationId, 89 boolean includeCheckedOutEntries); 90 91 /*** 92 * @param id 93 * @return 94 */ 95 TranslatedEntry getEntry(long id); 96 97 /*** 98 * @param translationId 99 * @return 100 */ 101 List<TranslatedEntry> getCheckedOutEntries(long translationId); 102 103 /*** 104 * @param userName 105 * @return 106 */ 107 List<TranslatedEntry> getCheckedOutEntries(String userName); 108 109 /*** 110 * @param entryId 111 * @return 112 * @throws AlreadyCheckedOutException 113 */ 114 TranslatedEntry checkOutEntry(long entryId) 115 throws AlreadyCheckedOutException; 116 117 /*** 118 * @param translatedEntryId 119 */ 120 void abandonCheckedOutEntry(long translatedEntryId); 121 122 /*** 123 * @param entryId 124 * @param translatedString 125 * @param fuzzy 126 */ 127 void checkInEntry(long entryId, String translatedString, boolean fuzzy); 128 129 /*** 130 * @param entryId 131 * @param translatedString 132 * @param pluralStrings 133 * @param fuzzy 134 */ 135 void checkInEntry( 136 long entryId, 137 String translatedString, 138 List<String> pluralStrings, 139 boolean fuzzy); 140 }