1 package org.fax4j; 2 3 import java.io.File; 4 5 /** 6 * This interface defines the fax job. 7 * 8 * @author Sagie Gur-Ari 9 * @version 1.0 10 * @since 0.1 11 */ 12 public interface FaxJob { 13 /** 14 * This is the fax job priority enum which holds the possible fax sending priority values. 15 * 16 * @author Sagie Gur-Ari 17 * @version 1.0 18 * @since 0.1 19 */ 20 enum FaxJobPriority { 21 /** The low priority value */ 22 LOW_PRIORITY, 23 /** The medium priority value */ 24 MEDIUM_PRIORITY, 25 /** The high priority value */ 26 HIGH_PRIORITY 27 } 28 29 /** 30 * This function returns the fax job ID. 31 * 32 * @return The fax job ID 33 */ 34 String getID(); 35 36 /** 37 * This function sets the fax job ID. 38 * 39 * @param id 40 * The fax job ID 41 */ 42 void setID(String id); 43 44 /** 45 * This function returns the file to fax. 46 * 47 * @return The file to fax 48 */ 49 File getFile(); 50 51 /** 52 * This function sets the file to fax. 53 * 54 * @param file 55 * The file to fax 56 */ 57 void setFile(File file); 58 59 /** 60 * This function returns the path to the file to fax. 61 * 62 * @return The path to the file to fax 63 */ 64 String getFilePath(); 65 66 /** 67 * This function sets the path to the file to fax. 68 * 69 * @param filePath 70 * The path to the file to fax 71 */ 72 void setFilePath(String filePath); 73 74 /** 75 * This function returns the priority. 76 * 77 * @return The priority 78 */ 79 FaxJobPriority getPriority(); 80 81 /** 82 * This function sets the priority. 83 * 84 * @param priority 85 * The priority 86 */ 87 void setPriority(FaxJobPriority priority); 88 89 /** 90 * This function returns the fax job target address. 91 * 92 * @return The fax job target address 93 */ 94 String getTargetAddress(); 95 96 /** 97 * This function sets the fax job target address. 98 * 99 * @param targetAddress 100 * The fax job target address 101 */ 102 void setTargetAddress(String targetAddress); 103 104 /** 105 * This function returns the fax job target name. 106 * 107 * @return The fax job target name 108 */ 109 String getTargetName(); 110 111 /** 112 * This function sets the fax job target name. 113 * 114 * @param targetName 115 * The fax job target name 116 */ 117 void setTargetName(String targetName); 118 119 /** 120 * This function returns the fax job sender name. 121 * 122 * @return The fax job sender name 123 */ 124 String getSenderName(); 125 126 /** 127 * This function sets the fax job sender name. 128 * 129 * @param senderName 130 * The fax job sender name 131 */ 132 void setSenderName(String senderName); 133 134 /** 135 * This function returns the fax job sender fax number. 136 * 137 * @return The fax job sender fax number 138 */ 139 String getSenderFaxNumber(); 140 141 /** 142 * This function sets the fax job sender fax number. 143 * 144 * @param senderFaxNumber 145 * The fax job sender fax number 146 */ 147 void setSenderFaxNumber(String senderFaxNumber); 148 149 /** 150 * This function returns the fax job sender email address. 151 * 152 * @return The fax job sender email address 153 */ 154 String getSenderEmail(); 155 156 /** 157 * This function sets the fax job sender email address. 158 * 159 * @param senderEmail 160 * The fax job sender email address 161 */ 162 void setSenderEmail(String senderEmail); 163 164 /** 165 * This function sets the fax job property. 166 * 167 * @param key 168 * The property key 169 * @param value 170 * The property value 171 */ 172 void setProperty(String key, String value); 173 174 /** 175 * This function returns the fax job property for the given key. 176 * 177 * @param key 178 * The property key 179 * @param defaultValue 180 * The default value 181 * @return The property value 182 */ 183 String getProperty(String key, String defaultValue); 184 }