View Javadoc
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 }