PageRenderTime 82ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/projects/jtopen-7.8/src/com/ibm/as400/resource/RUser.java

https://gitlab.com/essere.lab.public/qualitas.class-corpus
Java | 1219 lines | 371 code | 208 blank | 640 comment | 6 complexity | b8a8aed30e9f682fff52143b3f8d66f5 MD5 | raw file
  1. ///////////////////////////////////////////////////////////////////////////////
  2. //
  3. // JTOpen (IBM Toolbox for Java - OSS version)
  4. //
  5. // Filename: RUser.java
  6. //
  7. // The source code contained herein is licensed under the IBM Public License
  8. // Version 1.0, which has been approved by the Open Source Initiative.
  9. // Copyright (C) 1997-2004 International Business Machines Corporation and
  10. // others. All rights reserved.
  11. //
  12. ///////////////////////////////////////////////////////////////////////////////
  13. package com.ibm.as400.resource;
  14. import com.ibm.as400.access.AS400;
  15. import com.ibm.as400.access.CommandCall;
  16. import com.ibm.as400.access.ExtendedIllegalArgumentException; //@B1A
  17. import com.ibm.as400.access.ExtendedIllegalStateException;
  18. import com.ibm.as400.access.Trace;
  19. import com.ibm.as400.data.PcmlException;
  20. import com.ibm.as400.data.ProgramCallDocument;
  21. import java.beans.PropertyVetoException;
  22. import java.io.IOException; // @A3A
  23. import java.net.InetAddress; // @A3A
  24. import java.util.Date;
  25. /**
  26. The RUser class represents a user profile and directory entry on the system.
  27. <a name="attributeIDs"><p>The following attribute IDs are supported:
  28. <ul>
  29. <li>{@link #ACCOUNTING_CODE ACCOUNTING_CODE}
  30. <li>{@link #ALLOW_SYNCHRONIZATION ALLOW_SYNCHRONIZATION}
  31. <li>{@link #ASSISTANCE_LEVEL ASSISTANCE_LEVEL}
  32. <li>{@link #ATTENTION_KEY_HANDLING_PROGRAM ATTENTION_KEY_HANDLING_PROGRAM}
  33. <li>{@link #BUILDING BUILDING}
  34. <li>{@link #CC_MAIL_ADDRESS CC_MAIL_ADDRESS}
  35. <li>{@link #CC_MAIL_COMMENT CC_MAIL_COMMENT}
  36. <li>{@link #CHARACTER_CODE_SET_ID CHARACTER_CODE_SET_ID}
  37. <li>{@link #CHARACTER_IDENTIFIER_CONTROL CHARACTER_IDENTIFIER_CONTROL}
  38. <li>{@link #COMPANY COMPANY}
  39. <li>{@link #COUNTRY_ID COUNTRY_ID}
  40. <li>{@link #CURRENT_LIBRARY_NAME CURRENT_LIBRARY_NAME}
  41. <li>{@link #DATE_PASSWORD_EXPIRES DATE_PASSWORD_EXPIRES}
  42. <li>{@link #DAYS_UNTIL_PASSWORD_EXPIRES DAYS_UNTIL_PASSWORD_EXPIRES}
  43. <li>{@link #DEPARTMENT DEPARTMENT}
  44. <li>{@link #DIGITAL_CERTIFICATE_INDICATOR DIGITAL_CERTIFICATE_INDICATOR}
  45. <li>{@link #DISPLAY_SIGN_ON_INFORMATION DISPLAY_SIGN_ON_INFORMATION}
  46. <li>{@link #FAX_TELEPHONE_NUMBER FAX_TELEPHONE_NUMBER}
  47. <li>{@link #FIRST_NAME FIRST_NAME}
  48. <li>{@link #FULL_NAME FULL_NAME}
  49. <li>{@link #GROUP_AUTHORITY GROUP_AUTHORITY}
  50. <li>{@link #GROUP_AUTHORITY_TYPE GROUP_AUTHORITY_TYPE}
  51. <li>{@link #GROUP_ID_NUMBER GROUP_ID_NUMBER}
  52. <li>{@link #GROUP_MEMBER_INDICATOR GROUP_MEMBER_INDICATOR}
  53. <li>{@link #GROUP_PROFILE_NAME GROUP_PROFILE_NAME}
  54. <li>{@link #HIGHEST_SCHEDULING_PRIORITY HIGHEST_SCHEDULING_PRIORITY}
  55. <li>{@link #HOME_DIRECTORY HOME_DIRECTORY}
  56. <li>{@link #INDIRECT_USER INDIRECT_USER}
  57. <li>{@link #INITIAL_MENU INITIAL_MENU}
  58. <li>{@link #INITIAL_PROGRAM INITIAL_PROGRAM}
  59. <li>{@link #JOB_DESCRIPTION JOB_DESCRIPTION}
  60. <li>{@link #JOB_TITLE JOB_TITLE}
  61. <li>{@link #KEYBOARD_BUFFERING KEYBOARD_BUFFERING}
  62. <li>{@link #LANGUAGE_ID LANGUAGE_ID}
  63. <li>{@link #LAST_NAME LAST_NAME}
  64. <li>{@link #LIMIT_CAPABILITIES LIMIT_CAPABILITIES}
  65. <li>{@link #LIMIT_DEVICE_SESSIONS LIMIT_DEVICE_SESSIONS}
  66. <li>{@link #LOCALE_JOB_ATTRIBUTES LOCALE_JOB_ATTRIBUTES}
  67. <li>{@link #LOCALE_PATH_NAME LOCALE_PATH_NAME}
  68. <li>{@link #LOCAL_DATA_INDICATOR LOCAL_DATA_INDICATOR}
  69. <li>{@link #LOCATION LOCATION}
  70. <li>{@link #MAILING_ADDRESS_LINE_1 MAILING_ADDRESS_LINE_1}
  71. <li>{@link #MAILING_ADDRESS_LINE_2 MAILING_ADDRESS_LINE_2}
  72. <li>{@link #MAILING_ADDRESS_LINE_3 MAILING_ADDRESS_LINE_3}
  73. <li>{@link #MAILING_ADDRESS_LINE_4 MAILING_ADDRESS_LINE_4}
  74. <li>{@link #MAIL_NOTIFICATION MAIL_NOTIFICATION}
  75. <li>{@link #MANAGER_CODE MANAGER_CODE}
  76. <li>{@link #MAXIMUM_ALLOWED_STORAGE MAXIMUM_ALLOWED_STORAGE}
  77. <li>{@link #MESSAGE_NOTIFICATION MESSAGE_NOTIFICATION}
  78. <li>{@link #MESSAGE_QUEUE_DELIVERY_METHOD MESSAGE_QUEUE_DELIVERY_METHOD}
  79. <li>{@link #MESSAGE_QUEUE MESSAGE_QUEUE}
  80. <li>{@link #MESSAGE_QUEUE_SEVERITY MESSAGE_QUEUE_SEVERITY}
  81. <li>{@link #MIDDLE_NAME MIDDLE_NAME}
  82. <li>{@link #NETWORK_USER_ID NETWORK_USER_ID}
  83. <li>{@link #NO_PASSWORD_INDICATOR NO_PASSWORD_INDICATOR}
  84. <li>{@link #OBJECT_AUDITING_VALUE OBJECT_AUDITING_VALUE}
  85. <li>{@link #OFFICE OFFICE}
  86. <li>{@link #OR_NAME OR_NAME}
  87. <li>{@link #OUTPUT_QUEUE OUTPUT_QUEUE}
  88. <li>{@link #OWNER OWNER}
  89. <li>{@link #PASSWORD_CHANGE_DATE PASSWORD_CHANGE_DATE}
  90. <li>{@link #PASSWORD_EXPIRATION_INTERVAL PASSWORD_EXPIRATION_INTERVAL}
  91. <li>{@link #PREFERRED_NAME PREFERRED_NAME}
  92. <li>{@link #PREVIOUS_SIGN_ON PREVIOUS_SIGN_ON}
  93. <li>{@link #PRINT_COVER_PAGE PRINT_COVER_PAGE}
  94. <li>{@link #PRINT_DEVICE PRINT_DEVICE}
  95. <li>{@link #PRIORITY_MAIL_NOTIFICATION PRIORITY_MAIL_NOTIFICATION}
  96. <li>{@link #SET_PASSWORD_TO_EXPIRE SET_PASSWORD_TO_EXPIRE}
  97. <li>{@link #SIGN_ON_ATTEMPTS_NOT_VALID SIGN_ON_ATTEMPTS_NOT_VALID}
  98. <li>{@link #SMTP_DOMAIN SMTP_DOMAIN}
  99. <li>{@link #SMTP_ROUTE SMTP_ROUTE}
  100. <li>{@link #SMTP_USER_ID SMTP_USER_ID}
  101. <li>{@link #SORT_SEQUENCE_TABLE SORT_SEQUENCE_TABLE}
  102. <li>{@link #SPECIAL_AUTHORITIES SPECIAL_AUTHORITIES}
  103. <li>{@link #SPECIAL_ENVIRONMENT SPECIAL_ENVIRONMENT}
  104. <li>{@link #STATUS STATUS}
  105. <li>{@link #STORAGE_USED STORAGE_USED}
  106. <li>{@link #SUPPLEMENTAL_GROUPS SUPPLEMENTAL_GROUPS}
  107. <li>{@link #TELEPHONE_NUMBER_1 TELEPHONE_NUMBER_1}
  108. <li>{@link #TELEPHONE_NUMBER_2 TELEPHONE_NUMBER_2}
  109. <li>{@link #TEXT TEXT}
  110. <li>{@link #TEXT_DESCRIPTION TEXT_DESCRIPTION}
  111. <li>{@link #USER_ACTION_AUDIT_LEVEL USER_ACTION_AUDIT_LEVEL}
  112. <li>{@link #USER_ADDRESS USER_ADDRESS}
  113. <li>{@link #USER_CLASS USER_CLASS}
  114. <li>{@link #USER_DESCRIPTION USER_DESCRIPTION}
  115. <li>{@link #USER_ID USER_ID}
  116. <li>{@link #USER_ID_NUMBER USER_ID_NUMBER}
  117. <li>{@link #USER_OPTIONS USER_OPTIONS}
  118. <li>{@link #USER_PROFILE_NAME USER_PROFILE_NAME}
  119. </ul>
  120. </a>
  121. <p>Use any of these attribute IDs with
  122. {@link com.ibm.as400.resource.ChangeableResource#getAttributeValue getAttributeValue()}
  123. and {@link com.ibm.as400.resource.ChangeableResource#setAttributeValue setAttributeValue()}
  124. to access the attribute values for an RUser.
  125. <blockquote><pre>
  126. // Create an RUser object to refer to a specific user.
  127. AS400 system = new AS400("MYSYSTEM", "MYUSERID", "MYPASSWORD");
  128. RUser user = new RUser(system, "AUSERID");
  129. <br>
  130. // Get the user status.
  131. String status = (String)user.getAttributeValue(RUser.STATUS);
  132. <br>
  133. // Set the print device for a user to work station.
  134. user.setAttributeValue(RUser.PRINT_DEVICE, RUser.PRINT_DEVICE_WORK_STATION);
  135. <br>
  136. // Commit the attribute change.
  137. user.commitAttributeChanges();
  138. </pre></blockquote>
  139. @deprecated Use
  140. {@link com.ibm.as400.access.User User} instead, as this package may be removed in the future.
  141. @see RUserList
  142. **/
  143. public class RUser
  144. extends ChangeableResource
  145. {
  146. private static final String copyright = "Copyright (C) 1997-2004 International Business Machines Corporation and others.";
  147. static final long serialVersionUID = 4L;
  148. //-----------------------------------------------------------------------------------------
  149. // Presentation.
  150. //-----------------------------------------------------------------------------------------
  151. private static PresentationLoader presentationLoader_ = new PresentationLoader("com.ibm.as400.resource.ResourceMRI");
  152. private static final String ICON_BASE_NAME_ = "RUser";
  153. private static final String PRESENTATION_KEY_ = "USER";
  154. //-----------------------------------------------------------------------------------------
  155. // Attribute values.
  156. //-----------------------------------------------------------------------------------------
  157. /**
  158. Attribute value for system value.
  159. **/
  160. public static final String SYSTEM_VALUE = "*SYSVAL";
  161. /**
  162. Attribute value for yes.
  163. **/
  164. public static final String YES = "*YES";
  165. /**
  166. Attribute value for no.
  167. **/
  168. public static final String NO = "*NO";
  169. /**
  170. Attribute value for none.
  171. **/
  172. public static final String NONE = "*NONE";
  173. /**
  174. Attribute value for no date.
  175. **/
  176. public static final Date NO_DATE = DateValueMap.NO_DATE;
  177. //-----------------------------------------------------------------------------------------
  178. // Attribute IDs.
  179. //
  180. // * If you add an attribute here, make sure and add it to the class javadoc.
  181. //-----------------------------------------------------------------------------------------
  182. // Private data.
  183. static ResourceMetaDataTable attributes_ = new ResourceMetaDataTable(presentationLoader_, PRESENTATION_KEY_);
  184. private static ProgramMap getterMap_ = new ProgramMap();
  185. private static CommandMap setterMap_ = new CommandMap();
  186. private static final ArrayValueMap arrayValueMap_ = new ArrayValueMap();
  187. private static final ArrayValueMap arrayValueMapNone_ = new ArrayValueMap(NONE);
  188. private static final ArrayTypeValueMap arrayTypeValueMapString_= new ArrayTypeValueMap(String.class);
  189. private static final BooleanValueMap booleanValueMap01_ = new BooleanValueMap("0", "1");
  190. private static final BooleanValueMap booleanValueMapNY_ = new BooleanValueMap("N", "Y");
  191. private static final BooleanValueMap booleanValueMapNoYes_ = new BooleanValueMap(NO, YES);
  192. private static final IntegerToLongValueMap integerToLongValueMap_ = new IntegerToLongValueMap();
  193. private static final QuoteValueMap quoteValueMap_ = new QuoteValueMap();
  194. private static final QuoteValueMap quoteValueMapBlank_ = new QuoteValueMap("*BLANK");
  195. private static final QuoteValueMap quoteValueMapNone_ = new QuoteValueMap(NONE);
  196. //@B1D private static final String ADDDIRE_ = "ADDDIRE";
  197. private static final String CHGDIRE_ = "CHGDIRE";
  198. private static final String CHGUSRPRF_ = "CHGUSRPRF";
  199. private static final String CHGUSRAUD_ = "CHGUSRAUD";
  200. //@B1D private static final String CRTUSRPRF_ = "CRTUSRPRF";
  201. private static final int[] INDEX_0_ = new int[] { 0 };
  202. private static final String QOKSCHD_ = "qokschd";
  203. private static final String USRI0100_ = "qsyrusri_usri0100";
  204. private static final String USRI0200_ = "qsyrusri_usri0200";
  205. private static final String USRI0300_ = "qsyrusri_usri0300";
  206. private static final String USRD_PARAMETER_ = "USRD";
  207. private static final String USRPRF_PARAMETER_ = "USRPRF";
  208. private static final String USRID_PARAMETER_ = "USRID";
  209. /**
  210. Attribute ID for accounting code. This identifies a String
  211. attribute, which represents the accounting code associated with this user.
  212. **/
  213. public static final String ACCOUNTING_CODE = "ACCOUNTING_CODE";
  214. static {
  215. attributes_.add(ACCOUNTING_CODE, String.class, false);
  216. getterMap_.add(ACCOUNTING_CODE, USRI0300_, "receiverVariable.accountingCode");
  217. setterMap_.add(ACCOUNTING_CODE, CHGUSRPRF_, "ACGCDE", quoteValueMapBlank_);
  218. }
  219. /**
  220. Attribute ID for allow synchronization. This identifies a Boolean
  221. attribute, which indicates whether the user's directory entry should be
  222. synchronized with directories other than the System Distribution Directory.
  223. **/
  224. public static final String ALLOW_SYNCHRONIZATION = "ALLOW_SYNCHRONIZATION";
  225. static {
  226. attributes_.add(ALLOW_SYNCHRONIZATION, Boolean.class, false);
  227. getterMap_.add(ALLOW_SYNCHRONIZATION, QOKSCHD_, "receiverVariable.directoryEntries.allowSynchronization.fieldValue", INDEX_0_, booleanValueMap01_);
  228. setterMap_.add(ALLOW_SYNCHRONIZATION, CHGDIRE_, "ALWSYNC", booleanValueMapNoYes_);
  229. }
  230. /**
  231. Attribute ID for assistance level. This identifies a String
  232. attribute, which represents the user interface that the user will use.
  233. Possible values are:
  234. <ul>
  235. <li>{@link #SYSTEM_VALUE SYSTEM_VALUE}
  236. - The system value QASTLVL determines which user interface the user is using.
  237. <li>{@link #ASSISTANCE_LEVEL_BASIC ASSISTANCE_LEVEL_BASIC}
  238. - The Operational Assistant user interface.
  239. <li>{@link #ASSISTANCE_LEVEL_INTERMEDIATE ASSISTANCE_LEVEL_INTERMEDIATE}
  240. - The system user interface.
  241. <li>{@link #ASSISTANCE_LEVEL_ADVANCED ASSISTANCE_LEVEL_ADVANCED}
  242. - The expert system user interface.
  243. </ul>
  244. **/
  245. public static final String ASSISTANCE_LEVEL = "ASSISTANCE_LEVEL";
  246. /**
  247. Attribute value indicating the Operational Assistant user interface.
  248. @see #ASSISTANCE_LEVEL
  249. **/
  250. public static final String ASSISTANCE_LEVEL_BASIC = "*BASIC";
  251. /**
  252. Attribute value indicating the system user interface.
  253. @see #ASSISTANCE_LEVEL
  254. **/
  255. public static final String ASSISTANCE_LEVEL_INTERMEDIATE = "*INTERMED";
  256. /**
  257. Attribute value indicating the expert system user interface.
  258. @see #ASSISTANCE_LEVEL
  259. **/
  260. public static final String ASSISTANCE_LEVEL_ADVANCED = "*ADVANCED";
  261. static {
  262. attributes_.add(ASSISTANCE_LEVEL, String.class, false,
  263. new Object[] {SYSTEM_VALUE,
  264. ASSISTANCE_LEVEL_BASIC,
  265. ASSISTANCE_LEVEL_INTERMEDIATE,
  266. ASSISTANCE_LEVEL_ADVANCED}, null, true);
  267. getterMap_.add(ASSISTANCE_LEVEL, USRI0300_, "receiverVariable.assistanceLevel");
  268. setterMap_.add(ASSISTANCE_LEVEL, CHGUSRPRF_, "ASTLVL");
  269. }
  270. /**
  271. Attribute ID for attention key handling program. This identifies a
  272. String attribute, which represents the fully qualified integrated file system
  273. path name of the attention key handling program for
  274. this user. Possible values are:
  275. <ul>
  276. <li>{@link #SYSTEM_VALUE SYSTEM_VALUE}
  277. - The system value QATNPGM determines the user's attention key handling program.
  278. <li>{@link #NONE NONE}
  279. - No attention key handling program is used.
  280. <li>{@link #ATTENTION_KEY_HANDLING_PROGRAM_ASSIST ATTENTION_KEY_HANDLING_PROGRAM_ASSIST}
  281. - The Operational Assistant attention key handling program.
  282. <li>The attention key handling program name.
  283. </ul>
  284. @see com.ibm.as400.access.QSYSObjectPathName
  285. **/
  286. public static final String ATTENTION_KEY_HANDLING_PROGRAM = "ATTENTION_KEY_HANDLING_PROGRAM";
  287. /**
  288. Attribute value indicating the Operational Assistant attention key handling program.
  289. @see #ATTENTION_KEY_HANDLING_PROGRAM
  290. **/
  291. public static final String ATTENTION_KEY_HANDLING_PROGRAM_ASSIST = "*ASSIST";
  292. static {
  293. attributes_.add(ATTENTION_KEY_HANDLING_PROGRAM, String.class, false,
  294. new Object[] {SYSTEM_VALUE, NONE, ATTENTION_KEY_HANDLING_PROGRAM_ASSIST}, null, false);
  295. getterMap_.add(ATTENTION_KEY_HANDLING_PROGRAM, USRI0300_, "receiverVariable.attentionKeyHandlingProgram",
  296. new QualifiedValueMap(QualifiedValueMap.FORMAT_20, "PGM"));
  297. ValueMap valueMap = new QualifiedValueMap(QualifiedValueMap.FORMAT_CL, "PGM");
  298. setterMap_.add(ATTENTION_KEY_HANDLING_PROGRAM, CHGUSRPRF_, "ATNPGM", valueMap);
  299. }
  300. /**
  301. Attribute ID for building. This identifies a String
  302. attribute, which represents the building in the user's directory entry.
  303. **/
  304. public static final String BUILDING = "BUILDING";
  305. static {
  306. attributes_.add(BUILDING, String.class, false);
  307. getterMap_.add(BUILDING, QOKSCHD_, "receiverVariable.directoryEntries.building.fieldValue", INDEX_0_);
  308. setterMap_.add(BUILDING, CHGDIRE_, "BLDG", quoteValueMapNone_);
  309. }
  310. /**
  311. Attribute ID for cc:Mail address. This identifies a String
  312. attribute, which represents the cc:Mail address in the user's directory entry.
  313. **/
  314. public static final String CC_MAIL_ADDRESS = "CC_MAIL_ADDRESS";
  315. static {
  316. attributes_.add(CC_MAIL_ADDRESS, String.class, false);
  317. getterMap_.add(CC_MAIL_ADDRESS, QOKSCHD_, "receiverVariable.directoryEntries.ccMailAddress.fieldValue", INDEX_0_);
  318. setterMap_.add(CC_MAIL_ADDRESS, CHGDIRE_, "CCMAILADR", quoteValueMapNone_);
  319. }
  320. /**
  321. Attribute ID for cc:Mail comment. This identifies a String
  322. attribute, which represents the cc:Mail comment in the user's directory entry.
  323. **/
  324. public static final String CC_MAIL_COMMENT = "CC_MAIL_COMMENT";
  325. static {
  326. attributes_.add(CC_MAIL_COMMENT, String.class, false);
  327. getterMap_.add(CC_MAIL_COMMENT, QOKSCHD_, "receiverVariable.directoryEntries.ccMailComment.fieldValue", INDEX_0_);
  328. setterMap_.add(CC_MAIL_COMMENT, CHGDIRE_, "CCMAILCMT", quoteValueMapNone_);
  329. }
  330. /**
  331. Attribute ID for character code set ID. This identifies a Integer
  332. attribute, which represents the character code set ID to be used by the system
  333. for this user.
  334. **/
  335. public static final String CHARACTER_CODE_SET_ID = "CHARACTER_CODE_SET_ID";
  336. static {
  337. attributes_.add(CHARACTER_CODE_SET_ID, Integer.class, false);
  338. getterMap_.add(CHARACTER_CODE_SET_ID, USRI0300_, "receiverVariable.characterCodeSetID");
  339. ValueMap valueMap = new CharacterCodeSetIDValueMap_();
  340. setterMap_.add(CHARACTER_CODE_SET_ID, CHGUSRPRF_, "CCSID", valueMap);
  341. }
  342. private static class CharacterCodeSetIDValueMap_ extends AbstractValueMap
  343. {
  344. public Object ltop(Object logicalValue)
  345. {
  346. if (((Integer)logicalValue).intValue() == -2)
  347. return SYSTEM_VALUE;
  348. else
  349. return logicalValue;
  350. }
  351. }
  352. /**
  353. Attribute ID for character identifier control. This identifies a String
  354. attribute, which represents the character identifier control for the user. Possible
  355. values are:
  356. <ul>
  357. <li>{@link #SYSTEM_VALUE SYSTEM_VALUE}
  358. - The system value QCHRIDCTL will be used to determine the character
  359. identifier control for this user.
  360. <li>{@link #CHARACTER_IDENTIFIER_CONTROL_DEVICE_DESCRIPTION CHARACTER_IDENTIFIER_CONTROL_DEVICE_DESCRIPTION}
  361. - Performs the same function as on the CHRID command parameter for display
  362. files, printer files, and panel groups.
  363. <li>{@link #CHARACTER_IDENTIFIER_CONTROL_JOB_CCSID CHARACTER_IDENTIFIER_CONTROL_JOB_CCSID}
  364. - Performs the same function as on the CHRID command parameter for display
  365. files, printer files, and panel groups.
  366. </ul>
  367. **/
  368. public static final String CHARACTER_IDENTIFIER_CONTROL = "CHARACTER_IDENTIFIER_CONTROL";
  369. /**
  370. Attribute value indicating the same function as on the CHRID command parameter for display
  371. files, printer files, and panel groups.
  372. @see #CHARACTER_IDENTIFIER_CONTROL
  373. **/
  374. public static final String CHARACTER_IDENTIFIER_CONTROL_DEVICE_DESCRIPTION = "*DEVD";
  375. /**
  376. Attribute value indicating the same function as on the CHRID command parameter for display
  377. files, printer files, and panel groups.
  378. @see #CHARACTER_IDENTIFIER_CONTROL
  379. **/
  380. public static final String CHARACTER_IDENTIFIER_CONTROL_JOB_CCSID = "*JOBCCSID";
  381. static {
  382. attributes_.add(CHARACTER_IDENTIFIER_CONTROL, String.class, false,
  383. new Object[] {SYSTEM_VALUE,
  384. CHARACTER_IDENTIFIER_CONTROL_DEVICE_DESCRIPTION,
  385. CHARACTER_IDENTIFIER_CONTROL_JOB_CCSID}, null, true);
  386. getterMap_.add(CHARACTER_IDENTIFIER_CONTROL, USRI0300_, "receiverVariable.characterIdentifierControl");
  387. setterMap_.add(CHARACTER_IDENTIFIER_CONTROL, CHGUSRPRF_, "CHRIDCTL");
  388. }
  389. /**
  390. Attribute ID for company. This identifies a String
  391. attribute, which represents the company in the user's directory entry.
  392. **/
  393. public static final String COMPANY = "COMPANY";
  394. static {
  395. attributes_.add(COMPANY, String.class, false);
  396. getterMap_.add(COMPANY, QOKSCHD_, "receiverVariable.directoryEntries.company.fieldValue", INDEX_0_);
  397. setterMap_.add(COMPANY, CHGDIRE_, "CMPNY", quoteValueMapNone_);
  398. }
  399. /**
  400. Attribute ID for country ID. This identifies a String
  401. attribute, which represents the country ID used by the system for this user.
  402. Possible values are:
  403. <ul>
  404. <li>{@link #SYSTEM_VALUE SYSTEM_VALUE}
  405. - The system value QCNTRYID will be used to determine the country ID.
  406. <li>The country ID.
  407. </ul>
  408. **/
  409. public static final String COUNTRY_ID = "COUNTRY_ID";
  410. static {
  411. attributes_.add(COUNTRY_ID, String.class, false,
  412. new Object[] {SYSTEM_VALUE}, null, false);
  413. getterMap_.add(COUNTRY_ID, USRI0300_, "receiverVariable.countryID");
  414. setterMap_.add(COUNTRY_ID, CHGUSRPRF_, "CNTRYID", quoteValueMap_);
  415. }
  416. /**
  417. Attribute ID for current library. This identifies a String
  418. attribute, which represents the name of the user's current library.
  419. Possible values are:
  420. <ul>
  421. <li>{@link #CURRENT_LIBRARY_NAME_DEFAULT CURRENT_LIBRARY_NAME_DEFAULT}
  422. - The user does not have a current library.
  423. <li>The library name.
  424. </ul>
  425. **/
  426. public static final String CURRENT_LIBRARY_NAME = "CURRENT_LIBRARY_NAME";
  427. /**
  428. Attribute value indicating that the user does not have a current library.
  429. @see #CURRENT_LIBRARY_NAME
  430. **/
  431. public static final String CURRENT_LIBRARY_NAME_DEFAULT = "*CRTDFT";
  432. static {
  433. attributes_.add(CURRENT_LIBRARY_NAME, String.class, false,
  434. new Object[] {CURRENT_LIBRARY_NAME_DEFAULT}, null, false);
  435. getterMap_.add(CURRENT_LIBRARY_NAME, USRI0300_, "receiverVariable.currentLibraryName");
  436. setterMap_.add(CURRENT_LIBRARY_NAME, CHGUSRPRF_, "CURLIB");
  437. }
  438. /**
  439. Attribute ID for date password expires. This identifies a read-only Date
  440. attribute, which represents the date the user's password expires. If the
  441. password is not set to expire, or is already expired, then this will
  442. be {@link #NO_DATE NO_DATE}.
  443. **/
  444. public static final String DATE_PASSWORD_EXPIRES = "DATE_PASSWORD_EXPIRES";
  445. static {
  446. attributes_.add(DATE_PASSWORD_EXPIRES, Date.class, true);
  447. ValueMap valueMap = new DateValueMap(DateValueMap.FORMAT_DTS);
  448. getterMap_.add(DATE_PASSWORD_EXPIRES, USRI0100_, "receiverVariable.datePasswordExpires", valueMap);
  449. getterMap_.add(DATE_PASSWORD_EXPIRES, USRI0300_, "receiverVariable.datePasswordExpires", valueMap);
  450. }
  451. /**
  452. Attribute ID for days until password expires. This identifies a read-only Integer
  453. attribute, which represents the number of days until the password will expire.
  454. Possible values are:
  455. <ul>
  456. <li>0 - The password is expired.
  457. <li>1-7 - The number of days until the password expires.
  458. <li>-1 - The password will not expire in the next 7 days.
  459. </ul>
  460. **/
  461. public static final String DAYS_UNTIL_PASSWORD_EXPIRES = "DAYS_UNTIL_PASSWORD_EXPIRES";
  462. static {
  463. attributes_.add(DAYS_UNTIL_PASSWORD_EXPIRES, Integer.class, true);
  464. getterMap_.add(DAYS_UNTIL_PASSWORD_EXPIRES, USRI0100_, "receiverVariable.daysUntilPasswordExpires");
  465. getterMap_.add(DAYS_UNTIL_PASSWORD_EXPIRES, USRI0300_, "receiverVariable.daysUntilPasswordExpires");
  466. }
  467. /**
  468. Attribute ID for department. This identifies a String
  469. attribute, which represents the department in the user's directory entry.
  470. **/
  471. public static final String DEPARTMENT = "DEPARTMENT";
  472. static {
  473. attributes_.add(DEPARTMENT, String.class, false);
  474. getterMap_.add(DEPARTMENT, QOKSCHD_, "receiverVariable.directoryEntries.department.fieldValue", INDEX_0_);
  475. setterMap_.add(DEPARTMENT, CHGDIRE_, "DEPT", quoteValueMapNone_);
  476. }
  477. /**
  478. Attribute ID for digital certificate indicator. This identifies a read-only Boolean
  479. attribute, which indicates whether there are digital certificates associated with
  480. this user.
  481. **/
  482. public static final String DIGITAL_CERTIFICATE_INDICATOR = "DIGITAL_CERTIFICATE_INDICATOR";
  483. static {
  484. attributes_.add(DIGITAL_CERTIFICATE_INDICATOR, Boolean.class, true);
  485. getterMap_.add(DIGITAL_CERTIFICATE_INDICATOR, USRI0300_, "receiverVariable.digitalCertificateIndicator", booleanValueMap01_);
  486. }
  487. /**
  488. Attribute ID for display sign-on information. This identifies a String
  489. attribute, which represents whether the sign-on information display is shown when
  490. the user signs on. Possible values are:
  491. <ul>
  492. <li>{@link #SYSTEM_VALUE SYSTEM_VALUE}
  493. - The system value QDSPSGNINF determines if the sign-on information display
  494. is shown when the user signs on.
  495. <li>{@link #YES YES}
  496. - The sign-on information display is shown when the user signs on.
  497. <li>{@link #NO NO}
  498. - The sign-on information display is not shown when the user signs on.
  499. </ul>
  500. **/
  501. public static final String DISPLAY_SIGN_ON_INFORMATION = "DISPLAY_SIGN_ON_INFORMATION";
  502. static {
  503. attributes_.add(DISPLAY_SIGN_ON_INFORMATION, String.class, false,
  504. new Object[] {SYSTEM_VALUE, YES, NO }, null, true);
  505. getterMap_.add(DISPLAY_SIGN_ON_INFORMATION, USRI0100_, "receiverVariable.displaySignOnInformation");
  506. getterMap_.add(DISPLAY_SIGN_ON_INFORMATION, USRI0300_, "receiverVariable.displaySignOnInformation");
  507. setterMap_.add(DISPLAY_SIGN_ON_INFORMATION, CHGUSRPRF_, "DSPSGNINF");
  508. }
  509. /**
  510. Attribute ID for fax telephone number. This identifies a String
  511. attribute, which represents the fax telephone number in the user's directory entry.
  512. **/
  513. public static final String FAX_TELEPHONE_NUMBER = "FAX_TELEPHONE_NUMBER";
  514. static {
  515. attributes_.add(FAX_TELEPHONE_NUMBER, String.class, false);
  516. getterMap_.add(FAX_TELEPHONE_NUMBER, QOKSCHD_, "receiverVariable.directoryEntries.faxTelephoneNumber.fieldValue", INDEX_0_);
  517. setterMap_.add(FAX_TELEPHONE_NUMBER, CHGDIRE_, "FAXTELNBR", quoteValueMapNone_);
  518. }
  519. /**
  520. Attribute ID for first name. This identifies a String
  521. attribute, which represents the first name in the user's directory entry.
  522. **/
  523. public static final String FIRST_NAME = "FIRST_NAME";
  524. static {
  525. attributes_.add(FIRST_NAME, String.class, false);
  526. getterMap_.add(FIRST_NAME, QOKSCHD_, "receiverVariable.directoryEntries.firstName.fieldValue", INDEX_0_);
  527. setterMap_.add(FIRST_NAME, CHGDIRE_, "FSTNAM", quoteValueMapNone_);
  528. }
  529. /**
  530. Attribute ID for full name. This identifies a String
  531. attribute, which represents the full name in the user's directory entry.
  532. **/
  533. public static final String FULL_NAME = "FULL_NAME";
  534. static {
  535. attributes_.add(FULL_NAME, String.class, false);
  536. getterMap_.add(FULL_NAME, QOKSCHD_, "receiverVariable.directoryEntries.fullName.fieldValue", INDEX_0_);
  537. setterMap_.add(FULL_NAME, CHGDIRE_, "FULNAM", quoteValueMapNone_);
  538. }
  539. /**
  540. Attribute ID for group authority. This identifies a String
  541. attribute, which represents the authority the user's group profile
  542. has to objects the user creates. This can only be set to
  543. {@link #NONE NONE} if the user does not belong to a group.
  544. Possible values are:
  545. <ul>
  546. <li>{@link #NONE NONE}
  547. - The group profile has no authority to the objects the user creates,
  548. or the user does not have a group profile.
  549. <li>{@link #GROUP_AUTHORITY_ALL GROUP_AUTHORITY_ALL}
  550. - The group profile has all authority to the objects the user creates.
  551. <li>{@link #GROUP_AUTHORITY_CHANGE GROUP_AUTHORITY_CHANGE}
  552. - The group profile has change authority to the objects the user creates.
  553. <li>{@link #GROUP_AUTHORITY_USE GROUP_AUTHORITY_USE}
  554. - The group profile has use authority to the objects the user creates.
  555. <li>{@link #GROUP_AUTHORITY_EXCLUDE GROUP_AUTHORITY_EXCLUDE}
  556. - The group profile has exclude authority to the objects the user creates.
  557. </ul>
  558. **/
  559. public static final String GROUP_AUTHORITY = "GROUP_AUTHORITY";
  560. /**
  561. Attribute value indicating that the group profile has all authority to the objects the user creates.
  562. @see #GROUP_AUTHORITY
  563. **/
  564. public static final String GROUP_AUTHORITY_ALL = "*ALL";
  565. /**
  566. Attribute value indicating that the group profile has change authority to the objects the user creates.
  567. @see #GROUP_AUTHORITY
  568. **/
  569. public static final String GROUP_AUTHORITY_CHANGE = "*CHANGE";
  570. /**
  571. Attribute value indicating that the group profile has use authority to the objects the user creates.
  572. @see #GROUP_AUTHORITY
  573. **/
  574. public static final String GROUP_AUTHORITY_USE = "*USE";
  575. /**
  576. Attribute value indicating that the group profile has exclude authority to the objects the user creates.
  577. @see #GROUP_AUTHORITY
  578. **/
  579. public static final String GROUP_AUTHORITY_EXCLUDE = "*EXCLUDE";
  580. static {
  581. attributes_.add(GROUP_AUTHORITY, String.class, false,
  582. new Object[] {NONE,
  583. GROUP_AUTHORITY_ALL,
  584. GROUP_AUTHORITY_CHANGE,
  585. GROUP_AUTHORITY_USE,
  586. GROUP_AUTHORITY_EXCLUDE }, null, true);
  587. getterMap_.add(GROUP_AUTHORITY, USRI0200_, "receiverVariable.groupAuthority");
  588. getterMap_.add(GROUP_AUTHORITY, USRI0300_, "receiverVariable.groupAuthority");
  589. setterMap_.add(GROUP_AUTHORITY, CHGUSRPRF_, "GRPAUT");
  590. }
  591. /**
  592. Attribute ID for group authority type. This identifies a String
  593. attribute, which represents the type of authority the user's group has to
  594. objects the user creates. Possible values are:
  595. <ul>
  596. <li>{@link #GROUP_AUTHORITY_TYPE_PRIVATE GROUP_AUTHORITY_TYPE_PRIVATE}
  597. - The group profile has a private authority to the objects the user creates,
  598. or the user does not have a group profile.
  599. <li>{@link #GROUP_AUTHORITY_TYPE_PGP GROUP_AUTHORITY_TYPE_PGP}
  600. - The group profile will be the primary group for objects the user creates.
  601. </ul>
  602. **/
  603. public static final String GROUP_AUTHORITY_TYPE = "GROUP_AUTHORITY_TYPE";
  604. /**
  605. Attribute value indicating that the group profile has a private authority to the objects the user creates,
  606. or the user does not have a group profile.
  607. @see #GROUP_AUTHORITY_TYPE
  608. **/
  609. public static final String GROUP_AUTHORITY_TYPE_PRIVATE = "*PRIVATE";
  610. /**
  611. Attribute value indicating that the group profile will be the primary group for objects the user creates.
  612. @see #GROUP_AUTHORITY_TYPE
  613. **/
  614. public static final String GROUP_AUTHORITY_TYPE_PGP = "*PGP";
  615. static {
  616. attributes_.add(GROUP_AUTHORITY_TYPE, String.class, false,
  617. new Object[] {GROUP_AUTHORITY_TYPE_PRIVATE,
  618. GROUP_AUTHORITY_TYPE_PGP }, null, true);
  619. getterMap_.add(GROUP_AUTHORITY_TYPE, USRI0200_, "receiverVariable.groupAuthorityType");
  620. getterMap_.add(GROUP_AUTHORITY_TYPE, USRI0300_, "receiverVariable.groupAuthorityType");
  621. setterMap_.add(GROUP_AUTHORITY_TYPE, CHGUSRPRF_, "GRPAUTTYP");
  622. }
  623. /**
  624. Attribute ID for group ID number. This identifies a Long
  625. attribute, which represents the group ID number for the user profile.
  626. The group ID number is used to identify the user when it is a group and a
  627. member of the group is using the integrated file system. This will
  628. be {@link #GROUP_ID_NUMBER_NONE GROUP_ID_NUMBER_NONE} if the user does not
  629. have a group ID. It will be {@link #GROUP_ID_NUMBER_GENERATE GROUP_ID_NUMBER_GENERATE}
  630. if it was set as such; in which case, call
  631. {@link #refreshAttributeValues refreshAttributeValues()} to retrieve the actual group ID
  632. that was generated by the system.
  633. **/
  634. public static final String GROUP_ID_NUMBER = "GROUP_ID_NUMBER";
  635. static {
  636. attributes_.add(GROUP_ID_NUMBER, Long.class, false);
  637. getterMap_.add(GROUP_ID_NUMBER, USRI0300_, "receiverVariable.groupIDNumber", integerToLongValueMap_);
  638. ValueMap valueMap = new GroupIDNumberValueMap_();
  639. setterMap_.add(GROUP_ID_NUMBER, CHGUSRPRF_, "GID", valueMap);
  640. }
  641. private static class GroupIDNumberValueMap_ extends AbstractValueMap
  642. {
  643. public Object ltop(Object logicalValue)
  644. {
  645. long val = ((Long)logicalValue).longValue(); //@B2A
  646. if (val == 0) return "*NONE"; //@B2C
  647. if (val == -1) return "*GEN"; //@B2A
  648. return logicalValue; //@B2C
  649. }
  650. }
  651. /**
  652. * Attribute value indicating the system should generate a unique group ID number (*GEN).
  653. * @see #GROUP_ID_NUMBER
  654. **/
  655. public static final Long GROUP_ID_NUMBER_GENERATE = new Long(-1); //@B2A
  656. /**
  657. * Attribute value indicating the group ID number is *NONE.
  658. * @see #GROUP_ID_NUMBER
  659. **/
  660. public static final Long GROUP_ID_NUMBER_NONE = new Long(0); //@B2A
  661. /**
  662. Attribute ID for group member indicator. This identifies a read-only Boolean
  663. attribute, which indicates whether this user is a group that has members.
  664. **/
  665. public static final String GROUP_MEMBER_INDICATOR = "GROUP_MEMBER_INDICATOR";
  666. static {
  667. attributes_.add(GROUP_MEMBER_INDICATOR, Boolean.class, true);
  668. getterMap_.add(GROUP_MEMBER_INDICATOR, USRI0300_, "receiverVariable.groupMemberIndicator", booleanValueMap01_);
  669. }
  670. /**
  671. Attribute ID for group profile name. This identifies a String attribute,
  672. which represents the name of the group profile.
  673. Possible values are:
  674. <ul>
  675. <li>{@link #NONE NONE}
  676. - If the user does not have a group profile.
  677. <li>The group profile name.
  678. </ul>
  679. **/
  680. public static final String GROUP_PROFILE_NAME = "GROUP_PROFILE_NAME";
  681. static {
  682. attributes_.add(GROUP_PROFILE_NAME, String.class, false,
  683. new Object[] {NONE }, null, false);
  684. getterMap_.add(GROUP_PROFILE_NAME, USRI0200_, "receiverVariable.groupProfileName");
  685. getterMap_.add(GROUP_PROFILE_NAME, USRI0300_, "receiverVariable.groupProfileName");
  686. setterMap_.add(GROUP_PROFILE_NAME, CHGUSRPRF_, "GRPPRF");
  687. }
  688. /**
  689. Attribute ID for highest scheduling priority. This identifies a Integer
  690. attribute, which represents the highest scheduling priority the user is allowed
  691. to have for each job submitted to the system. The priority is a value from 0
  692. to 9, with 0 being the highest priority.
  693. **/
  694. public static final String HIGHEST_SCHEDULING_PRIORITY = "HIGHEST_SCHEDULING_PRIORITY";
  695. static {
  696. attributes_.add(HIGHEST_SCHEDULING_PRIORITY, Integer.class, false);
  697. ValueMap valueMap = new IntegerValueMap();
  698. getterMap_.add(HIGHEST_SCHEDULING_PRIORITY, USRI0300_, "receiverVariable.highestSchedulingPriority", valueMap);
  699. setterMap_.add(HIGHEST_SCHEDULING_PRIORITY, CHGUSRPRF_, "PTYLMT");
  700. }
  701. /**
  702. Attribute ID for home directory. This identifies a String
  703. attribute, which represents the home directory for this user profile.
  704. **/
  705. public static final String HOME_DIRECTORY = "HOME_DIRECTORY";
  706. static {
  707. attributes_.add(HOME_DIRECTORY, String.class, false);
  708. getterMap_.add(HOME_DIRECTORY, USRI0300_, "receiverVariable.homeDirectory.homeDirectoryNameValue");
  709. setterMap_.add(HOME_DIRECTORY, CHGUSRPRF_, "HOMEDIR", quoteValueMap_);
  710. }
  711. /**
  712. Attribute ID for indirect user. This identifies a Boolean
  713. attribute, which indicates whether the user is an indirect user
  714. as specified in the user's directory entry.
  715. **/
  716. public static final String INDIRECT_USER = "INDIRECT_USER";
  717. static {
  718. attributes_.add(INDIRECT_USER, Boolean.class, false);
  719. getterMap_.add(INDIRECT_USER, QOKSCHD_, "receiverVariable.directoryEntries.indirectUser.fieldValue", INDEX_0_, booleanValueMap01_);
  720. setterMap_.add(INDIRECT_USER, CHGDIRE_, "INDUSR", booleanValueMapNoYes_);
  721. }
  722. /**
  723. Attribute ID for initial menu. This identifies a String attribute,
  724. which represents the fully qualified integrated file system path name
  725. of the initial menu for the user. Possible values are:
  726. <ul>
  727. <li>{@link #INITIAL_MENU_SIGNOFF INITIAL_MENU_SIGNOFF}
  728. <li>The initial menu name.
  729. </ul>
  730. @see com.ibm.as400.access.QSYSObjectPathName
  731. **/
  732. public static final String INITIAL_MENU = "INITIAL_MENU";
  733. /**
  734. Attribute value for initial menu signoff.
  735. @see #INITIAL_MENU
  736. **/
  737. public static final String INITIAL_MENU_SIGNOFF = "*SIGNOFF";
  738. static {
  739. attributes_.add(INITIAL_MENU, String.class, false,
  740. new Object[] {INITIAL_MENU_SIGNOFF}, null, false);
  741. getterMap_.add(INITIAL_MENU, USRI0300_, "receiverVariable.initialMenu",
  742. new QualifiedValueMap(QualifiedValueMap.FORMAT_20, "MNU"));
  743. ValueMap valueMap = new QualifiedValueMap(QualifiedValueMap.FORMAT_CL, "MNU");
  744. setterMap_.add(INITIAL_MENU, CHGUSRPRF_, "INLMNU", valueMap);
  745. }
  746. /**
  747. Attribute ID for initial program. This identifies a String attribute,
  748. which represents the fully qualified integrated file system path name of
  749. the initial program for the user. Possible values are:
  750. <ul>
  751. <li>{@link #NONE NONE}
  752. <li>The initial program name.
  753. </ul>
  754. @see com.ibm.as400.access.QSYSObjectPathName
  755. **/
  756. public static final String INITIAL_PROGRAM = "INITIAL_PROGRAM";
  757. static {
  758. attributes_.add(INITIAL_PROGRAM, String.class, false,
  759. new Object[] {NONE}, null, false);
  760. getterMap_.add(INITIAL_PROGRAM, USRI0300_, "receiverVariable.initialProgram",
  761. new QualifiedValueMap(QualifiedValueMap.FORMAT_20, "PGM"));
  762. ValueMap valueMap = new QualifiedValueMap(QualifiedValueMap.FORMAT_CL, "PGM");
  763. setterMap_.add(INITIAL_PROGRAM, CHGUSRPRF_, "INLPGM", valueMap);
  764. }
  765. /**
  766. Attribute ID for job description. This identifies a String attribute,
  767. which represents the fully qualified integrated file system path name
  768. of the job description used for jobs that start through
  769. subsystem work station entries.
  770. @see com.ibm.as400.access.QSYSObjectPathName
  771. **/
  772. public static final String JOB_DESCRIPTION = "JOB_DESCRIPTION";
  773. static {
  774. attributes_.add(JOB_DESCRIPTION, String.class, false);
  775. getterMap_.add(JOB_DESCRIPTION, USRI0300_, "receiverVariable.jobDescription",
  776. new QualifiedValueMap(QualifiedValueMap.FORMAT_20, "JOBD"));
  777. ValueMap valueMap = new QualifiedValueMap(QualifiedValueMap.FORMAT_CL, "JOBD");
  778. setterMap_.add(JOB_DESCRIPTION, CHGUSRPRF_, "JOBD", valueMap);
  779. }
  780. /**
  781. Attribute ID for job title. This identifies a String
  782. attribute, which represents the job title in the user's directory entry.
  783. **/
  784. public static final String JOB_TITLE = "JOB_TITLE";
  785. static {
  786. attributes_.add(JOB_TITLE, String.class, false);
  787. getterMap_.add(JOB_TITLE, QOKSCHD_, "receiverVariable.directoryEntries.jobTitle.fieldValue", INDEX_0_);
  788. setterMap_.add(JOB_TITLE, CHGDIRE_, "TITLE", quoteValueMapNone_);
  789. }
  790. /**
  791. Attribute ID for keyboard buffering. This identifies a String
  792. attribute, which represents the keyboard buffering value that is
  793. used when a job is initialized for this user. Possible values are:
  794. <ul>
  795. <li>{@link #SYSTEM_VALUE SYSTEM_VALUE}
  796. - The system value QKBDBUF determines the keybpard buffering value for
  797. this user.
  798. <li>{@link #YES YES}
  799. - The type-ahead and attention-key buffering options are both on.
  800. <li>{@link #NO NO}
  801. - The type-ahead and attention-key buffering options are not on.
  802. <li>{@link #KEYBOARD_BUFFERING_TYPE_AHEAD KEYBOARD_BUFFERING_TYPE_AHEAD}
  803. - The type-ahead option is on, but the attention-key buffering options is not.
  804. </ul>
  805. **/
  806. public static final String KEYBOARD_BUFFERING = "KEYBOARD_BUFFERING";
  807. /**
  808. Attribute value indicating the type-ahead option is on, but the attention-key buffering options is not.
  809. @see #KEYBOARD_BUFFERING
  810. **/
  811. public static final String KEYBOARD_BUFFERING_TYPE_AHEAD = "*TYPEAHEAD";
  812. static {
  813. attributes_.add(KEYBOARD_BUFFERING, String.class, false,
  814. new Object[] {SYSTEM_VALUE, YES, NO, KEYBOARD_BUFFERING_TYPE_AHEAD }, null, true);
  815. getterMap_.add(KEYBOARD_BUFFERING, USRI0300_, "receiverVariable.keyboardBuffering");
  816. setterMap_.add(KEYBOARD_BUFFERING, CHGUSRPRF_, "KBDBUF");
  817. }
  818. /**
  819. Attribute ID for language ID. This identifies a String
  820. attribute, which represents the language ID used by the system for this user.
  821. Possible values are:
  822. <ul>
  823. <li>{@link #SYSTEM_VALUE SYSTEM_VALUE}
  824. - The system value QLANGID will be used to determine the language ID.
  825. <li>The language ID.
  826. </ul>
  827. **/
  828. public static final String LANGUAGE_ID = "LANGUAGE_ID";
  829. static {
  830. attributes_.add(LANGUAGE_ID, String.class, false,
  831. new Object[] {SYSTEM_VALUE}, null, false);
  832. getterMap_.add(LANGUAGE_ID, USRI0300_, "receiverVariable.languageID");
  833. setterMap_.add(LANGUAGE_ID, CHGUSRPRF_, "LANGID");
  834. }
  835. /**
  836. Attribute ID for last name. This identifies a String
  837. attribute, which represents the last name in the user's directory entry.
  838. **/
  839. public static final String LAST_NAME = "LAST_NAME";
  840. static {
  841. attributes_.add(LAST_NAME, String.class, false);
  842. getterMap_.add(LAST_NAME, QOKSCHD_, "receiverVariable.directoryEntries.lastName.fieldValue", INDEX_0_);
  843. setterMap_.add(LAST_NAME, CHGDIRE_, "LSTNAM", quoteValueMapNone_);
  844. }
  845. /**
  846. Attribute ID for limit capabilities. This identifies a String
  847. attribute, which indicates whether the user has limited capabilites.
  848. Possible values are:
  849. <ul>
  850. <li>{@link #LIMIT_CAPABILITIES_PARTIAL LIMIT_CAPABILITIES_PARTIAL}
  851. - The user cannot change the initial program or current library.
  852. <li>{@link #YES YES}
  853. - The user cannot change the initial menu, initial program,
  854. or current library. The user cannot run commands from the
  855. command line.
  856. <li>{@link #NO NO}
  857. - The user is not limited.
  858. </ul>
  859. **/
  860. public static final String LIMIT_CAPABILITIES = "LIMIT_CAPABILITIES";
  861. /**
  862. Attribute value indicating the user cannot change the initial program or current library.
  863. @see #LIMIT_CAPABILITIES
  864. **/
  865. public static final String LIMIT_CAPABILITIES_PARTIAL = "*PARTIAL";
  866. static {
  867. attributes_.add(LIMIT_CAPABILITIES, String.class, false,
  868. new Object[] {LIMIT_CAPABILITIES_PARTIAL, YES, NO }, null, true);
  869. getterMap_.add(LIMIT_CAPABILITIES, USRI0200_, "receiverVariable.limitCapabilities");
  870. getterMap_.add(LIMIT_CAPABILITIES, USRI0300_, "receiverVariable.limitCapabilities");
  871. setterMap_.add(LIMIT_CAPABILITIES, CHGUSRPRF_, "LMTCPB");
  872. }
  873. /**
  874. Attribute ID for limit device sessions. This identifies a String
  875. attribute, which indicates whether the user is limited to one device
  876. session. Possible values are:
  877. <ul>
  878. <li>{@link #SYSTEM_VALUE SYSTEM_VALUE}
  879. - The system value QLMTDEVSSN determines if the user is limited to one
  880. device session.
  881. <li>{@link #YES YES}
  882. - The user is limited to one session.
  883. <li>{@link #NO NO}
  884. - The user is not limited to one device session.
  885. </ul>
  886. **/
  887. public static final String LIMIT_DEVICE_SESSIONS = "LIMIT_DEVICE_SESSIONS";
  888. static {
  889. attributes_.add(LIMIT_DEVICE_SESSIONS, String.class, false,
  890. new Object[] {SYSTEM_VALUE, YES, NO}, null, true);
  891. getterMap_.add(LIMIT_DEVICE_SESSIONS, USRI0300_, "receiverVariable.limitDeviceSessions");
  892. setterMap_.add(LIMIT_DEVICE_SESSIONS, CHGUSRPRF_, "LMTDEVSSN");
  893. }
  894. /**
  895. Attribute ID for locale job attributes. This identifies a String array
  896. attribute, which represents a list of attributes which are set from the locale path
  897. name at the time a job is started for this user. Possible values for the elements
  898. of this array are:
  899. <ul>
  900. <li>{@link #NONE NONE}
  901. - No job attributes are used from the locale path name at the time a job is
  902. started for this user profile. If this is specified, then no other values
  903. can be specified.
  904. <li>{@link #SYSTEM_VALUE SYSTEM_VALUE}
  905. - The job attributes assigned from the locale path name are determined by
  906. the system value QSETJOBATR at the time a job is started for this user profile.
  907. If this is specified, then no other values can be specified.
  908. <li>{@link #LOCALE_JOB_ATTRIBUTES_CCSID LOCALE_JOB_ATTRIBUTES_CCSID}
  909. - The coded character set identifier is set from the locale path name
  910. at the time a job is started for this user profile.
  911. <li>{@link #LOCALE_JOB_ATTRIBUTES_DATE_FORMAT LOCALE_JOB_ATTRIBUTES_DATE_FORMAT}
  912. - The date format is set from the locale path name
  913. at the time a job is started for this user profile.
  914. <li>{@link #LOCALE_JOB_ATTRIBUTES_DATE_SEPARATOR LOCALE_JOB_ATTRIBUTES_DATE_SEPARATOR}
  915. - The date separator is set from the locale path name
  916. at the time a job is started for this user profile.
  917. <li>{@link #LOCALE_JOB_ATTRIBUTES_SORT_SEQUENCE LOCALE_JOB_ATTRIBUTES_SORT_SEQUENCE}
  918. - The sort sequence is set from the locale path name
  919. at the time a job is started for this user profile.
  920. <li>{@link #LOCALE_JOB_ATTRIBUTES_TIME_SEPARATOR LOCALE_JOB_ATTRIBUTES_TIME_SEPARATOR}
  921. - The time separator is set from the locale path name
  922. at the time a job is started for this user profile.
  923. <li>{@link #LOCALE_JOB_ATTRIBUTES_DECIMAL_FORMAT LOCALE_JOB_ATTRIBUTES_DECIMAL_FORMAT}
  924. - The decimal format is set from the locale path name
  925. at the time a job is started for this user profile.
  926. </ul>
  927. **/
  928. public static final String LOCALE_JOB_ATTRIBUTES = "LOCALE_JOB_ATTRIBUTES";
  929. /**
  930. Attribute value indicating that the coded character set identifier is set from the locale path name
  931. at the time a job is started for this user profile.
  932. @see #LOCALE_JOB_ATTRIBUTES
  933. **/
  934. public static final String LOCALE_JOB_ATTRIBUTES_CCSID = "*CCSID";
  935. /**
  936. Attribute value indicating that the date format is set from the locale path name
  937. at the time a job is started for this user profile.
  938. @see #LOCALE_JOB_ATTRIBUTES
  939. **/
  940. public static final String LOCALE_JOB_ATTRIBUTES_DATE_FORMAT = "*DATFMT";
  941. /**
  942. Attribute value indicating that the date separator is set from the locale path name
  943. at the time a job is started for this user profile.
  944. @see #LOCALE_JOB_ATTRIBUTES
  945. **/
  946. public static final String LOCALE_JOB_ATTRIBUTES_DATE_SEPARATOR = "*DATSEP";
  947. /**
  948. Attribute value indicating that the sort sequence is set from the locale path name
  949. at the time a job is started for this user profile.
  950. @see #LOCALE_JOB_ATTRIBUTES
  951. **/
  952. public static final String LOCALE_JOB_ATTRIBUTES_SORT_SEQUENCE = "*SRTSEQ";
  953. /**
  954. Attribute value indicating that the time separator is set from the locale path name
  955. at the time a job is started for this user profile.
  956. @see #LOCALE_JOB_ATTRIBUTES
  957. **/
  958. public static final String LOCALE_JOB_ATTRIBUTES_TIME_SEPARATOR = "*TIMSEP";
  959. /**
  960. Attribute value indicating that the decimal format is set from the locale path name
  961. at the time a job is started for this user profile.
  962. @see #LOCALE_JOB_ATTRIBUTES
  963. **/
  964. public static final String LOCALE_JOB_ATTRIBUTES_DECIMAL_FORMAT = "*DECFMT";
  965. static {
  966. String[] possibleValues = new String[] {NONE,
  967. SYSTEM_VALUE,
  968. LOCALE_JOB_ATTRIBUTES_CCSID,
  969. LOCALE_JOB_ATTRIBUTES_DATE_FORMAT,
  970. LOCALE_JOB_ATTRIBUTES_DATE_SEPARATOR,
  971. LOCALE_JOB_ATTRIBUTES_SORT_SEQUENCE,
  972. LOCALE_JOB_ATTRIBUTES_TIME_SEPARATOR,
  973. LOCALE_JOB_ATTRIBUTES_DECIMAL_FORMAT};
  974. attributes_.add(LOCALE_JOB_ATTRIBUTES, String.class, false,
  975. possibleValues, null, true, true);
  976. ValueMap valueMap = new OptionsValueMap('N', 'Y', possibleValues);
  977. getterMap_.add(LOCALE_JOB_ATTRIBUTES, USRI0300_, "receiverVariable.localeJobAttributes", valueMap);
  978. setterMap_.add(LOCALE_JOB_ATTRIBUTES, CHGUSRPRF_, "SETJOBATR", arrayValueMapNone_); //@B1C
  979. }
  980. /**
  981. Attribute ID for locale p