PdfName.java

1
/*
2
 * $Id: PdfName.java 4082 2009-10-25 14:18:28Z psoares33 $
3
 *
4
 * Copyright 1999-2006 Bruno Lowagie
5
 *
6
 * The contents of this file are subject to the Mozilla Public License Version 1.1
7
 * (the "License"); you may not use this file except in compliance with the License.
8
 * You may obtain a copy of the License at http://www.mozilla.org/MPL/
9
 *
10
 * Software distributed under the License is distributed on an "AS IS" basis,
11
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12
 * for the specific language governing rights and limitations under the License.
13
 *
14
 * The Original Code is 'iText, a free JAVA-PDF library'.
15
 *
16
 * The Initial Developer of the Original Code is Bruno Lowagie. Portions created by
17
 * the Initial Developer are Copyright (C) 1999, 2000, 2001, 2002 by Bruno Lowagie.
18
 * All Rights Reserved.
19
 * Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer
20
 * are Copyright (C) 2000, 2001, 2002 by Paulo Soares. All Rights Reserved.
21
 *
22
 * Contributor(s): all the names of the contributors are added in the source code
23
 * where applicable.
24
 *
25
 * Alternatively, the contents of this file may be used under the terms of the
26
 * LGPL license (the "GNU LIBRARY GENERAL PUBLIC LICENSE"), in which case the
27
 * provisions of LGPL are applicable instead of those above.  If you wish to
28
 * allow use of your version of this file only under the terms of the LGPL
29
 * License and not to allow others to use your version of this file under
30
 * the MPL, indicate your decision by deleting the provisions above and
31
 * replace them with the notice and other provisions required by the LGPL.
32
 * If you do not delete the provisions above, a recipient may use your version
33
 * of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE.
34
 *
35
 * This library is free software; you can redistribute it and/or modify it
36
 * under the terms of the MPL as stated above or under the terms of the GNU
37
 * Library General Public License as published by the Free Software Foundation;
38
 * either version 2 of the License, or any later version.
39
 *
40
 * This library is distributed in the hope that it will be useful, but WITHOUT
41
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
42
 * FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more
43
 * details.
44
 *
45
 * If you didn't download this code from the following link, you should check if
46
 * you aren't using an obsolete version:
47
 * http://www.lowagie.com/iText/
48
 */
49
50
package com.lowagie.text.pdf;
51
52
import java.lang.reflect.Field;
53
import java.lang.reflect.Modifier;
54
import java.util.HashMap;
55
import java.util.Map;
56
57
import com.lowagie.text.error_messages.MessageLocalization;
58
59
/**
60
 * <CODE>PdfName</CODE> is an object that can be used as a name in a PDF-file.
61
 * <P>
62
 * A name, like a string, is a sequence of characters.
63
 * It must begin with a slash followed by a sequence of ASCII characters in
64
 * the range 32 through 136 except %, (, ), [, ], &lt;, &gt;, {, }, / and #.
65
 * Any character except 0x00 may be included in a name by writing its
66
 * two character hex code, preceded by #. The maximum number of characters
67
 * in a name is 127.<BR>
68
 * This object is described in the 'Portable Document Format Reference Manual
69
 * version 1.7' section 3.2.4 (page 56-58).
70
 * <P>
71
 *
72
 * @see        PdfObject
73
 * @see        PdfDictionary
74
 * @see        BadPdfFormatException
75
 */
76
77
public class PdfName extends PdfObject implements Comparable{
78
79
    // CLASS CONSTANTS (a variety of standard names used in PDF))
80
    /**
81
     * A name.
82
     * @since 2.1.6
83
     */
84
    public static final PdfName _3D = new PdfName("3D");
85
    /** A name */
86
    public static final PdfName A = new PdfName("A");
87
    /** A name */
88
    public static final PdfName AA = new PdfName("AA");
89
    /**
90
     * A name
91
     * @since 2.1.5 renamed from ABSOLUTECALORIMETRIC
92
     */
93
    public static final PdfName ABSOLUTECOLORIMETRIC = new PdfName("AbsoluteColorimetric");
94
    /** A name */
95
    public static final PdfName AC = new PdfName("AC");
96
    /** A name */
97
    public static final PdfName ACROFORM = new PdfName("AcroForm");
98
    /** A name */
99
    public static final PdfName ACTION = new PdfName("Action");
100
    /**
101
     * A name.
102
     * @since 2.1.6
103
     */
104
    public static final PdfName ACTIVATION = new PdfName("Activation");
105
    /**
106
     * A name.
107
     * @since 2.1.6
108
     */
109
    public static final PdfName ADBE = new PdfName("ADBE");
110
    /**
111
     * a name used in PDF structure
112
     * @since 2.1.6
113
     */
114
    public static final PdfName ACTUALTEXT = new PdfName("ActualText");
115
    /** A name */
116
    public static final PdfName ADBE_PKCS7_DETACHED = new PdfName("adbe.pkcs7.detached");
117
    /** A name */
118
    public static final PdfName ADBE_PKCS7_S4 =new PdfName("adbe.pkcs7.s4");
119
    /** A name */
120
    public static final PdfName ADBE_PKCS7_S5 =new PdfName("adbe.pkcs7.s5");
121
    /** A name */
122
    public static final PdfName ADBE_PKCS7_SHA1 = new PdfName("adbe.pkcs7.sha1");
123
    /** A name */
124
    public static final PdfName ADBE_X509_RSA_SHA1 = new PdfName("adbe.x509.rsa_sha1");
125
    /** A name */
126
    public static final PdfName ADOBE_PPKLITE = new PdfName("Adobe.PPKLite");
127
    /** A name */
128
    public static final PdfName ADOBE_PPKMS = new PdfName("Adobe.PPKMS");
129
    /** A name */
130
    public static final PdfName AESV2 = new PdfName("AESV2");
131
    /** A name */
132
    public static final PdfName AIS = new PdfName("AIS");
133
    /** A name */
134
    public static final PdfName ALLPAGES = new PdfName("AllPages");
135
    /** A name */
136
    public static final PdfName ALT = new PdfName("Alt");
137
    /** A name */
138
    public static final PdfName ALTERNATE = new PdfName("Alternate");
139
    /**
140
     * A name.
141
     * @since 2.1.6
142
     */
143
    public static final PdfName ANIMATION = new PdfName("Animation");
144
    /** A name */
145
    public static final PdfName ANNOT = new PdfName("Annot");
146
    /** A name */
147
    public static final PdfName ANNOTS = new PdfName("Annots");
148
    /** A name */
149
    public static final PdfName ANTIALIAS = new PdfName("AntiAlias");
150
    /** A name */
151
    public static final PdfName AP = new PdfName("AP");
152
    /** A name */
153
    public static final PdfName APPDEFAULT = new PdfName("AppDefault");
154
    /**
155
     * A name
156
     * @since 2.1.6
157
     */
158
    public static final PdfName ART = new PdfName("Art");
159
    /** A name */
160
    public static final PdfName ARTBOX = new PdfName("ArtBox");
161
    /** A name */
162
    public static final PdfName ASCENT = new PdfName("Ascent");
163
    /** A name */
164
    public static final PdfName AS = new PdfName("AS");
165
    /** A name */
166
    public static final PdfName ASCII85DECODE = new PdfName("ASCII85Decode");
167
    /** A name */
168
    public static final PdfName ASCIIHEXDECODE = new PdfName("ASCIIHexDecode");
169
    /**
170
     * A name.
171
     * @since 2.1.6
172
     */
173
    public static final PdfName ASSET = new PdfName("Asset");
174
    /**
175
     * A name.
176
     * @since 2.1.6
177
     */
178
    public static final PdfName ASSETS = new PdfName("Assets");
179
    /** A name */
180
    public static final PdfName AUTHEVENT = new PdfName("AuthEvent");
181
    /** A name */
182
    public static final PdfName AUTHOR = new PdfName("Author");
183
    /** A name */
184
    public static final PdfName B = new PdfName("B");
185
    /**
186
     * A name
187
     * @since    2.1.6
188
     */
189
    public static final PdfName BACKGROUND = new PdfName("Background");
190
    /** A name */
191
    public static final PdfName BASEENCODING = new PdfName("BaseEncoding");
192
    /** A name */
193
    public static final PdfName BASEFONT = new PdfName("BaseFont");
194
    /**
195
     * A name
196
     * @since    2.1.6
197
     */
198
    public static final PdfName BASEVERSION = new PdfName("BaseVersion");
199
    /** A name */
200
    public static final PdfName BBOX = new PdfName("BBox");
201
    /** A name */
202
    public static final PdfName BC = new PdfName("BC");
203
    /** A name */
204
    public static final PdfName BG = new PdfName("BG");
205
    /**
206
     * A name
207
     * @since 2.1.6
208
     */
209
    public static final PdfName BIBENTRY = new PdfName("BibEntry");
210
    /** A name */
211
    public static final PdfName BIGFIVE = new PdfName("BigFive");
212
    /**
213
     * A name.
214
     * @since 2.1.6
215
     */
216
    public static final PdfName BINDING = new PdfName("Binding");
217
    /**
218
     * A name.
219
     * @since 2.1.6
220
     */
221
    public static final PdfName BINDINGMATERIALNAME = new PdfName("BindingMaterialName");
222
    /** A name */
223
    public static final PdfName BITSPERCOMPONENT = new PdfName("BitsPerComponent");
224
    /** A name */
225
    public static final PdfName BITSPERSAMPLE = new PdfName("BitsPerSample");
226
    /** A name */
227
    public static final PdfName BL = new PdfName("Bl");
228
    /** A name */
229
    public static final PdfName BLACKIS1 = new PdfName("BlackIs1");
230
    /** A name */
231
    public static final PdfName BLACKPOINT = new PdfName("BlackPoint");
232
    /**
233
     * A name
234
     * @since 2.1.6
235
     */
236
    public static final PdfName BLOCKQUOTE = new PdfName("BlockQuote");
237
    /** A name */
238
    public static final PdfName BLEEDBOX = new PdfName("BleedBox");
239
    /** A name */
240
    public static final PdfName BLINDS = new PdfName("Blinds");
241
    /** A name */
242
    public static final PdfName BM = new PdfName("BM");
243
    /** A name */
244
    public static final PdfName BORDER = new PdfName("Border");
245
    /** A name */
246
    public static final PdfName BOUNDS = new PdfName("Bounds");
247
    /** A name */
248
    public static final PdfName BOX = new PdfName("Box");
249
    /** A name */
250
    public static final PdfName BS = new PdfName("BS");
251
    /** A name */
252
    public static final PdfName BTN = new PdfName("Btn");
253
    /** A name */
254
    public static final PdfName BYTERANGE = new PdfName("ByteRange");
255
    /** A name */
256
    public static final PdfName C = new PdfName("C");
257
    /** A name */
258
    public static final PdfName C0 = new PdfName("C0");
259
    /** A name */
260
    public static final PdfName C1 = new PdfName("C1");
261
    /** A name */
262
    public static final PdfName CA = new PdfName("CA");
263
    /** A name */
264
    public static final PdfName ca = new PdfName("ca");
265
    /** A name */
266
    public static final PdfName CALGRAY = new PdfName("CalGray");
267
    /** A name */
268
    public static final PdfName CALRGB = new PdfName("CalRGB");
269
    /** A name */
270
    public static final PdfName CAPHEIGHT = new PdfName("CapHeight");
271
    /**
272
     * A name
273
     * @since 2.1.6
274
     */
275
    public static final PdfName CAPTION = new PdfName("Caption");
276
    /** A name */
277
    public static final PdfName CATALOG = new PdfName("Catalog");
278
    /** A name */
279
    public static final PdfName CATEGORY = new PdfName("Category");
280
    /** A name */
281
    public static final PdfName CCITTFAXDECODE = new PdfName("CCITTFaxDecode");
282
    /**
283
     * A name.
284
     * @since 2.1.6
285
     */
286
    public static final PdfName CENTER = new PdfName("Center");
287
    /** A name */
288
    public static final PdfName CENTERWINDOW = new PdfName("CenterWindow");
289
    /** A name */
290
    public static final PdfName CERT = new PdfName("Cert");
291
    /** A name */
292
    public static final PdfName CF = new PdfName("CF");
293
    /** A name */
294
    public static final PdfName CFM = new PdfName("CFM");
295
    /** A name */
296
    public static final PdfName CH = new PdfName("Ch");
297
    /** A name */
298
    public static final PdfName CHARPROCS = new PdfName("CharProcs");
299
    /** A name */
300
    public static final PdfName CHECKSUM = new PdfName("CheckSum");
301
    /** A name */
302
    public static final PdfName CI = new PdfName("CI");
303
    /** A name */
304
    public static final PdfName CIDFONTTYPE0 = new PdfName("CIDFontType0");
305
    /** A name */
306
    public static final PdfName CIDFONTTYPE2 = new PdfName("CIDFontType2");
307
    /**
308
     * A name
309
     * @since 2.0.7
310
     */
311
    public static final PdfName CIDSET = new PdfName("CIDSet");
312
    /** A name */
313
    public static final PdfName CIDSYSTEMINFO = new PdfName("CIDSystemInfo");
314
    /** A name */
315
    public static final PdfName CIDTOGIDMAP = new PdfName("CIDToGIDMap");
316
    /** A name */
317
    public static final PdfName CIRCLE = new PdfName("Circle");
318
    /**
319
     * A name.
320
     * @since 2.1.6
321
     */
322
    public static final PdfName CMD = new PdfName("CMD");
323
    /** A name */
324
    public static final PdfName CO = new PdfName("CO");
325
    /**
326
     * A name
327
     * @since 2.1.6
328
     */
329
    public static final PdfName CODE = new PdfName("Code");
330
    /** A name */
331
    public static final PdfName COLORS = new PdfName("Colors");
332
    /** A name */
333
    public static final PdfName COLORSPACE = new PdfName("ColorSpace");
334
    /** A name */
335
    public static final PdfName COLLECTION = new PdfName("Collection");
336
    /** A name */
337
    public static final PdfName COLLECTIONFIELD = new PdfName("CollectionField");
338
    /** A name */
339
    public static final PdfName COLLECTIONITEM = new PdfName("CollectionItem");
340
    /** A name */
341
    public static final PdfName COLLECTIONSCHEMA = new PdfName("CollectionSchema");
342
    /** A name */
343
    public static final PdfName COLLECTIONSORT = new PdfName("CollectionSort");
344
    /** A name */
345
    public static final PdfName COLLECTIONSUBITEM = new PdfName("CollectionSubitem");
346
    /** A name */
347
    public static final PdfName COLUMNS = new PdfName("Columns");
348
    /**
349
     * A name.
350
     * @since 2.1.6
351
     */
352
    public static final PdfName CONDITION = new PdfName("Condition");
353
    /**
354
     * A name.
355
     * @since 2.1.6
356
     */
357
    public static final PdfName CONFIGURATION = new PdfName("Configuration");
358
    /**
359
     * A name.
360
     * @since 2.1.6
361
     */
362
    public static final PdfName CONFIGURATIONS = new PdfName("Configurations");
363
    /** A name */
364
    public static final PdfName CONTACTINFO = new PdfName("ContactInfo");
365
    /** A name */
366
    public static final PdfName CONTENT = new PdfName("Content");
367
    /** A name */
368
    public static final PdfName CONTENTS = new PdfName("Contents");
369
    /** A name */
370
    public static final PdfName COORDS = new PdfName("Coords");
371
    /** A name */
372
    public static final PdfName COUNT = new PdfName("Count");
373
    /** A name of a base 14 type 1 font */
374
    public static final PdfName COURIER = new PdfName("Courier");
375
    /** A name of a base 14 type 1 font */
376
    public static final PdfName COURIER_BOLD = new PdfName("Courier-Bold");
377
    /** A name of a base 14 type 1 font */
378
    public static final PdfName COURIER_OBLIQUE = new PdfName("Courier-Oblique");
379
    /** A name of a base 14 type 1 font */
380
    public static final PdfName COURIER_BOLDOBLIQUE = new PdfName("Courier-BoldOblique");
381
    /** A name */
382
    public static final PdfName CREATIONDATE = new PdfName("CreationDate");
383
    /** A name */
384
    public static final PdfName CREATOR = new PdfName("Creator");
385
    /** A name */
386
    public static final PdfName CREATORINFO = new PdfName("CreatorInfo");
387
    /** A name */
388
    public static final PdfName CROPBOX = new PdfName("CropBox");
389
    /** A name */
390
    public static final PdfName CRYPT = new PdfName("Crypt");
391
    /** A name */
392
    public static final PdfName CS = new PdfName("CS");
393
    /**
394
     * A name.
395
     * @since 2.1.6
396
     */
397
    public static final PdfName CUEPOINT = new PdfName("CuePoint");
398
    /**
399
     * A name.
400
     * @since 2.1.6
401
     */
402
    public static final PdfName CUEPOINTS = new PdfName("CuePoints");
403
    /** A name */
404
    public static final PdfName D = new PdfName("D");
405
    /** A name */
406
    public static final PdfName DA = new PdfName("DA");
407
    /** A name */
408
    public static final PdfName DATA = new PdfName("Data");
409
    /** A name */
410
    public static final PdfName DC = new PdfName("DC");
411
    /** A name */
412
    public static final PdfName DCTDECODE = new PdfName("DCTDecode");
413
    /**
414
     * A name.
415
     * @since 2.1.6
416
     */
417
    public static final PdfName DEACTIVATION = new PdfName("Deactivation");
418
    /** A name */
419
    public static final PdfName DECODE = new PdfName("Decode");
420
    /** A name */
421
    public static final PdfName DECODEPARMS = new PdfName("DecodeParms");
422
    /**
423
     * A name
424
     * @since    2.1.6
425
     */
426
    public static final PdfName DEFAULT = new PdfName("Default");
427
    /**
428
     * A name
429
     * @since    2.1.5 renamed from DEFAULTCRYPTFILER
430
     */
431
    public static final PdfName DEFAULTCRYPTFILTER = new PdfName("DefaultCryptFilter");
432
    /** A name */
433
    public static final PdfName DEFAULTCMYK = new PdfName("DefaultCMYK");
434
    /** A name */
435
    public static final PdfName DEFAULTGRAY = new PdfName("DefaultGray");
436
    /** A name */
437
    public static final PdfName DEFAULTRGB = new PdfName("DefaultRGB");
438
    /** A name */
439
    public static final PdfName DESC = new PdfName("Desc");
440
    /** A name */
441
    public static final PdfName DESCENDANTFONTS = new PdfName("DescendantFonts");
442
    /** A name */
443
    public static final PdfName DESCENT = new PdfName("Descent");
444
    /** A name */
445
    public static final PdfName DEST = new PdfName("Dest");
446
    /** A name */
447
    public static final PdfName DESTOUTPUTPROFILE = new PdfName("DestOutputProfile");
448
    /** A name */
449
    public static final PdfName DESTS = new PdfName("Dests");
450
    /** A name */
451
    public static final PdfName DEVICEGRAY = new PdfName("DeviceGray");
452
    /** A name */
453
    public static final PdfName DEVICERGB = new PdfName("DeviceRGB");
454
    /** A name */
455
    public static final PdfName DEVICECMYK = new PdfName("DeviceCMYK");
456
    /** A name */
457
    public static final PdfName DI = new PdfName("Di");
458
    /** A name */
459
    public static final PdfName DIFFERENCES = new PdfName("Differences");
460
    /** A name */
461
    public static final PdfName DISSOLVE = new PdfName("Dissolve");
462
    /** A name */
463
    public static final PdfName DIRECTION = new PdfName("Direction");
464
    /** A name */
465
    public static final PdfName DISPLAYDOCTITLE = new PdfName("DisplayDocTitle");
466
    /** A name */
467
    public static final PdfName DIV = new PdfName("Div");
468
    /** A name */
469
    public static final PdfName DL = new PdfName("DL");
470
    /** A name */
471
    public static final PdfName DM = new PdfName("Dm");
472
    /** A name */
473
    public static final PdfName DOCMDP = new PdfName("DocMDP");
474
    /** A name */
475
    public static final PdfName DOCOPEN = new PdfName("DocOpen");
476
    /**
477
     * A name.
478
     * @since 2.1.6
479
     */
480
    public static final PdfName DOCUMENT = new PdfName( "Document" );
481
    /** A name */
482
    public static final PdfName DOMAIN = new PdfName("Domain");
483
    /** A name */
484
    public static final PdfName DP = new PdfName("DP");
485
    /** A name */
486
    public static final PdfName DR = new PdfName("DR");
487
    /** A name */
488
    public static final PdfName DS = new PdfName("DS");
489
    /** A name */
490
    public static final PdfName DUR = new PdfName("Dur");
491
    /** A name */
492
    public static final PdfName DUPLEX = new PdfName("Duplex");
493
    /** A name */
494
    public static final PdfName DUPLEXFLIPSHORTEDGE = new PdfName("DuplexFlipShortEdge");
495
    /** A name */
496
    public static final PdfName DUPLEXFLIPLONGEDGE = new PdfName("DuplexFlipLongEdge");
497
    /** A name */
498
    public static final PdfName DV = new PdfName("DV");
499
    /** A name */
500
    public static final PdfName DW = new PdfName("DW");
501
    /** A name */
502
    public static final PdfName E = new PdfName("E");
503
    /** A name */
504
    public static final PdfName EARLYCHANGE = new PdfName("EarlyChange");
505
    /** A name */
506
    public static final PdfName EF = new PdfName("EF");
507
    /**
508
     * A name
509
     * @since    2.1.3
510
     */
511
    public static final PdfName EFF = new PdfName("EFF");
512
    /**
513
     * A name
514
     * @since    2.1.3
515
     */
516
    public static final PdfName EFOPEN = new PdfName("EFOpen");
517
    /**
518
     * A name
519
     * @since    2.1.6
520
     */
521
    public static final PdfName EMBEDDED = new PdfName("Embedded");
522
    /** A name */
523
    public static final PdfName EMBEDDEDFILE = new PdfName("EmbeddedFile");
524
    /** A name */
525
    public static final PdfName EMBEDDEDFILES = new PdfName("EmbeddedFiles");
526
    /** A name */
527
    public static final PdfName ENCODE = new PdfName("Encode");
528
    /** A name */
529
    public static final PdfName ENCODEDBYTEALIGN = new PdfName("EncodedByteAlign");
530
    /** A name */
531
    public static final PdfName ENCODING = new PdfName("Encoding");
532
    /** A name */
533
    public static final PdfName ENCRYPT = new PdfName("Encrypt");
534
    /** A name */
535
    public static final PdfName ENCRYPTMETADATA = new PdfName("EncryptMetadata");
536
    /** A name */
537
    public static final PdfName ENDOFBLOCK = new PdfName("EndOfBlock");
538
    /** A name */
539
    public static final PdfName ENDOFLINE = new PdfName("EndOfLine");
540
    /** A name */
541
    public static final PdfName EXTEND = new PdfName("Extend");
542
    /**
543
     * A name
544
     * @since    2.1.6
545
     */
546
    public static final PdfName EXTENSIONS = new PdfName("Extensions");
547
    /**
548
     * A name
549
     * @since    2.1.6
550
     */
551
    public static final PdfName EXTENSIONLEVEL = new PdfName("ExtensionLevel");
552
    /** A name */
553
    public static final PdfName EXTGSTATE = new PdfName("ExtGState");
554
    /** A name */
555
    public static final PdfName EXPORT = new PdfName("Export");
556
    /** A name */
557
    public static final PdfName EXPORTSTATE = new PdfName("ExportState");
558
    /** A name */
559
    public static final PdfName EVENT = new PdfName("Event");
560
    /** A name */
561
    public static final PdfName F = new PdfName("F");
562
    /**
563
     * A name.
564
     * @since 2.1.6
565
     */
566
    public static final PdfName FAR = new PdfName("Far");
567
    /** A name */
568
    public static final PdfName FB = new PdfName("FB");
569
    /** A name */
570
    public static final PdfName FDECODEPARMS = new PdfName("FDecodeParms");
571
    /** A name */
572
    public static final PdfName FDF = new PdfName("FDF");
573
    /** A name */
574
    public static final PdfName FF = new PdfName("Ff");
575
    /** A name */
576
    public static final PdfName FFILTER = new PdfName("FFilter");
577
    /** A name */
578
    public static final PdfName FIELDS = new PdfName("Fields");
579
    /**
580
     * A name
581
     * @since 2.1.6
582
     */
583
    public static final PdfName FIGURE = new PdfName( "Figure" );
584
    /** A name */
585
    public static final PdfName FILEATTACHMENT = new PdfName("FileAttachment");
586
    /** A name */
587
    public static final PdfName FILESPEC = new PdfName("Filespec");
588
    /** A name */
589
    public static final PdfName FILTER = new PdfName("Filter");
590
    /** A name */
591
    public static final PdfName FIRST = new PdfName("First");
592
    /** A name */
593
    public static final PdfName FIRSTCHAR = new PdfName("FirstChar");
594
    /** A name */
595
    public static final PdfName FIRSTPAGE = new PdfName("FirstPage");
596
    /** A name */
597
    public static final PdfName FIT = new PdfName("Fit");
598
    /** A name */
599
    public static final PdfName FITH = new PdfName("FitH");
600
    /** A name */
601
    public static final PdfName FITV = new PdfName("FitV");
602
    /** A name */
603
    public static final PdfName FITR = new PdfName("FitR");
604
    /** A name */
605
    public static final PdfName FITB = new PdfName("FitB");
606
    /** A name */
607
    public static final PdfName FITBH = new PdfName("FitBH");
608
    /** A name */
609
    public static final PdfName FITBV = new PdfName("FitBV");
610
    /** A name */
611
    public static final PdfName FITWINDOW = new PdfName("FitWindow");
612
    /** A name */
613
    public static final PdfName FLAGS = new PdfName("Flags");
614
    /**
615
     * A name.
616
     * @since 2.1.6
617
     */
618
    public static final PdfName FLASH = new PdfName("Flash");
619
    /**
620
     * A name.
621
     * @since 2.1.6
622
     */
623
    public static final PdfName FLASHVARS = new PdfName("FlashVars");
624
    /** A name */
625
    public static final PdfName FLATEDECODE = new PdfName("FlateDecode");
626
    /** A name */
627
    public static final PdfName FO = new PdfName("Fo");
628
    /** A name */
629
    public static final PdfName FONT = new PdfName("Font");
630
    /** A name */
631
    public static final PdfName FONTBBOX = new PdfName("FontBBox");
632
    /** A name */
633
    public static final PdfName FONTDESCRIPTOR = new PdfName("FontDescriptor");
634
    /** A name */
635
    public static final PdfName FONTFILE = new PdfName("FontFile");
636
    /** A name */
637
    public static final PdfName FONTFILE2 = new PdfName("FontFile2");
638
    /** A name */
639
    public static final PdfName FONTFILE3 = new PdfName("FontFile3");
640
    /** A name */
641
    public static final PdfName FONTMATRIX = new PdfName("FontMatrix");
642
    /** A name */
643
    public static final PdfName FONTNAME = new PdfName("FontName");
644
    /**
645
     * A name
646
     * @since    2.1.6
647
     */
648
    public static final PdfName FOREGROUND = new PdfName("Foreground");
649
    /** A name */
650
    public static final PdfName FORM = new PdfName("Form");
651
    /** A name */
652
    public static final PdfName FORMTYPE = new PdfName("FormType");
653
    /**
654
     * A name
655
     * @since 2.1.6
656
     */
657
    public static final PdfName FORMULA = new PdfName( "Formula" );
658
    /** A name */
659
    public static final PdfName FREETEXT = new PdfName("FreeText");
660
    /** A name */
661
    public static final PdfName FRM = new PdfName("FRM");
662
    /** A name */
663
    public static final PdfName FS = new PdfName("FS");
664
    /** A name */
665
    public static final PdfName FT = new PdfName("FT");
666
    /** A name */
667
    public static final PdfName FULLSCREEN = new PdfName("FullScreen");
668
    /** A name */
669
    public static final PdfName FUNCTION = new PdfName("Function");
670
    /** A name */
671
    public static final PdfName FUNCTIONS = new PdfName("Functions");
672
    /** A name */
673
    public static final PdfName FUNCTIONTYPE = new PdfName("FunctionType");
674
    /** A name of an attribute. */
675
    public static final PdfName GAMMA = new PdfName("Gamma");
676
    /** A name of an attribute. */
677
    public static final PdfName GBK = new PdfName("GBK");
678
    /** A name of an attribute. */
679
    public static final PdfName GLITTER = new PdfName("Glitter");
680
    /** A name of an attribute. */
681
    public static final PdfName GOTO = new PdfName("GoTo");
682
    /** A name of an attribute. */
683
    public static final PdfName GOTOE = new PdfName("GoToE");
684
    /** A name of an attribute. */
685
    public static final PdfName GOTOR = new PdfName("GoToR");
686
    /** A name of an attribute. */
687
    public static final PdfName GROUP = new PdfName("Group");
688
    /** A name of an attribute. */
689
    public static final PdfName GTS_PDFA1 = new PdfName("GTS_PDFA1");
690
    /** A name of an attribute. */
691
    public static final PdfName GTS_PDFX = new PdfName("GTS_PDFX");
692
    /** A name of an attribute. */
693
    public static final PdfName GTS_PDFXVERSION = new PdfName("GTS_PDFXVersion");
694
    /** A name of an attribute. */
695
    public static final PdfName H = new PdfName("H");
696
    /**
697
     * A name
698
     * @since 2.1.6
699
     */
700
    public static final PdfName H1 = new PdfName( "H1" );
701
    /**
702
     * A name
703
     * @since 2.1.6
704
     */
705
    public static final PdfName H2 = new PdfName("H2");
706
    /**
707
     * A name
708
     * @since 2.1.6
709
     */
710
    public static final PdfName H3 = new PdfName("H3");
711
    /**
712
     * A name
713
     * @since 2.1.6
714
     */
715
    public static final PdfName H4 = new PdfName("H4");
716
    /**
717
     * A name
718
     * @since 2.1.6
719
     */
720
    public static final PdfName H5 = new PdfName("H5");
721
    /**
722
     * A name
723
     * @since 2.1.6
724
     */
725
    public static final PdfName H6 = new PdfName("H6");
726
727
    /**
728
     * A name.
729
     * @since 2.1.6
730
     */
731
    public static final PdfName HALIGN = new PdfName("HAlign");
732
    /** A name of an attribute. */
733
    public static final PdfName HEIGHT = new PdfName("Height");
734
    /** A name */
735
    public static final PdfName HELV = new PdfName("Helv");
736
    /** A name of a base 14 type 1 font */
737
    public static final PdfName HELVETICA = new PdfName("Helvetica");
738
    /** A name of a base 14 type 1 font */
739
    public static final PdfName HELVETICA_BOLD = new PdfName("Helvetica-Bold");
740
    /** A name of a base 14 type 1 font */
741
    public static final PdfName HELVETICA_OBLIQUE = new PdfName("Helvetica-Oblique");
742
    /** A name of a base 14 type 1 font */
743
    public static final PdfName HELVETICA_BOLDOBLIQUE = new PdfName("Helvetica-BoldOblique");
744
    /** A name */
745
    public static final PdfName HID = new PdfName("Hid");
746
    /** A name */
747
    public static final PdfName HIDE = new PdfName("Hide");
748
    /** A name */
749
    public static final PdfName HIDEMENUBAR = new PdfName("HideMenubar");
750
    /** A name */
751
    public static final PdfName HIDETOOLBAR = new PdfName("HideToolbar");
752
    /** A name */
753
    public static final PdfName HIDEWINDOWUI = new PdfName("HideWindowUI");
754
    /** A name */
755
    public static final PdfName HIGHLIGHT = new PdfName("Highlight");
756
    /**
757
     * A name.
758
     * @since 2.1.6
759
     */
760
    public static final PdfName HOFFSET = new PdfName("HOffset");
761
    /** A name */
762
    public static final PdfName I = new PdfName("I");
763
    /** A name */
764
    public static final PdfName ICCBASED = new PdfName("ICCBased");
765
    /** A name */
766
    public static final PdfName ID = new PdfName("ID");
767
    /** A name */
768
    public static final PdfName IDENTITY = new PdfName("Identity");
769
    /** A name */
770
    public static final PdfName IF = new PdfName("IF");
771
    /** A name */
772
    public static final PdfName IMAGE = new PdfName("Image");
773
    /** A name */
774
    public static final PdfName IMAGEB = new PdfName("ImageB");
775
    /** A name */
776
    public static final PdfName IMAGEC = new PdfName("ImageC");
777
    /** A name */
778
    public static final PdfName IMAGEI = new PdfName("ImageI");
779
    /** A name */
780
    public static final PdfName IMAGEMASK = new PdfName("ImageMask");
781
    /** A name */
782
    public static final PdfName INDEX = new PdfName("Index");
783
    /** A name */
784
    public static final PdfName INDEXED = new PdfName("Indexed");
785
    /** A name */
786
    public static final PdfName INFO = new PdfName("Info");
787
    /** A name */
788
    public static final PdfName INK = new PdfName("Ink");
789
    /** A name */
790
    public static final PdfName INKLIST = new PdfName("InkList");
791
    /**
792
     * A name.
793
     * @since 2.1.6
794
     */
795
    public static final PdfName INSTANCES = new PdfName("Instances");
796
    /** A name */
797
    public static final PdfName IMPORTDATA = new PdfName("ImportData");
798
    /** A name */
799
    public static final PdfName INTENT = new PdfName("Intent");
800
    /** A name */
801
    public static final PdfName INTERPOLATE = new PdfName("Interpolate");
802
    /** A name */
803
    public static final PdfName ISMAP = new PdfName("IsMap");
804
    /** A name */
805
    public static final PdfName IRT = new PdfName("IRT");
806
    /** A name */
807
    public static final PdfName ITALICANGLE = new PdfName("ItalicAngle");
808
    /**
809
     * A name
810
     * @since    2.1.6
811
     */
812
    public static final PdfName ITXT = new PdfName("ITXT");
813
    /** A name */
814
    public static final PdfName IX = new PdfName("IX");
815
    /** A name */
816
    public static final PdfName JAVASCRIPT = new PdfName("JavaScript");
817
    /**
818
     * A name
819
     * @since    2.1.5
820
     */
821
    public static final PdfName JBIG2DECODE = new PdfName("JBIG2Decode");
822
    /**
823
     * A name
824
     * @since    2.1.5
825
     */
826
    public static final PdfName JBIG2GLOBALS = new PdfName("JBIG2Globals");
827
    /** A name */
828
    public static final PdfName JPXDECODE = new PdfName("JPXDecode");
829
    /** A name */
830
    public static final PdfName JS = new PdfName("JS");
831
    /** A name */
832
    public static final PdfName K = new PdfName("K");
833
    /** A name */
834
    public static final PdfName KEYWORDS = new PdfName("Keywords");
835
    /** A name */
836
    public static final PdfName KIDS = new PdfName("Kids");
837
    /** A name */
838
    public static final PdfName L = new PdfName("L");
839
    /** A name */
840
    public static final PdfName L2R = new PdfName("L2R");
841
    /** A name */
842
    public static final PdfName LANG = new PdfName("Lang");
843
    /** A name */
844
    public static final PdfName LANGUAGE = new PdfName("Language");
845
    /** A name */
846
    public static final PdfName LAST = new PdfName("Last");
847
    /** A name */
848
    public static final PdfName LASTCHAR = new PdfName("LastChar");
849
    /** A name */
850
    public static final PdfName LASTPAGE = new PdfName("LastPage");
851
    /** A name */
852
    public static final PdfName LAUNCH = new PdfName("Launch");
853
    /**
854
     * A name
855
     * @since 2.1.6
856
     */
857
    public static final PdfName LBL = new PdfName("Lbl");
858
    /**
859
     * A name
860
     * @since 2.1.6
861
     */
862
    public static final PdfName LBODY = new PdfName("LBody");
863
    /** A name */
864
    public static final PdfName LENGTH = new PdfName("Length");
865
    /** A name */
866
    public static final PdfName LENGTH1 = new PdfName("Length1");
867
    /**
868
     * A name
869
     * @since 2.1.6
870
     */
871
    public static final PdfName LI = new PdfName("LI");
872
    /** A name */
873
    public static final PdfName LIMITS = new PdfName("Limits");
874
    /** A name */
875
    public static final PdfName LINE = new PdfName("Line");
876
    /**
877
     * A name.
878
     * @since 2.1.6
879
     */
880
    public static final PdfName LINEAR = new PdfName("Linear");
881
    /** A name */
882
    public static final PdfName LINK = new PdfName("Link");
883
    /** A name */
884
    public static final PdfName LISTMODE = new PdfName("ListMode");
885
    /** A name */
886
    public static final PdfName LOCATION = new PdfName("Location");
887
    /** A name */
888
    public static final PdfName LOCK = new PdfName("Lock");
889
    /**
890
     * A name
891
     * @since    2.1.2
892
     */
893
    public static final PdfName LOCKED = new PdfName("Locked");
894
    /** A name */
895
    public static final PdfName LZWDECODE = new PdfName("LZWDecode");
896
    /** A name */
897
    public static final PdfName M = new PdfName("M");
898
    /**
899
     * A name
900
     * @since    2.1.6
901
     */
902
    public static final PdfName MATERIAL = new PdfName("Material");
903
    /** A name */
904
    public static final PdfName MATRIX = new PdfName("Matrix");
905
    /** A name of an encoding */
906
    public static final PdfName MAC_EXPERT_ENCODING = new PdfName("MacExpertEncoding");
907
    /** A name of an encoding */
908
    public static final PdfName MAC_ROMAN_ENCODING = new PdfName("MacRomanEncoding");
909
    /** A name */
910
    public static final PdfName MARKED = new PdfName("Marked");
911
    /** A name */
912
    public static final PdfName MARKINFO = new PdfName("MarkInfo");
913
    /** A name */
914
    public static final PdfName MASK = new PdfName("Mask");
915
    /**
916
     * A name
917
     * @since    2.1.6 renamed from MAX
918
     */
919
    public static final PdfName MAX_LOWER_CASE = new PdfName("max");
920
    /**
921
     * A name
922
     * @since    2.1.6
923
     */
924
    public static final PdfName MAX_CAMEL_CASE = new PdfName("Max");
925
    /** A name */
926
    public static final PdfName MAXLEN = new PdfName("MaxLen");
927
    /** A name */
928
    public static final PdfName MEDIABOX = new PdfName("MediaBox");
929
    /** A name */
930
    public static final PdfName MCID = new PdfName("MCID");
931
    /** A name */
932
    public static final PdfName MCR = new PdfName("MCR");
933
    /** A name */
934
    public static final PdfName METADATA = new PdfName("Metadata");
935
    /**
936
     * A name
937
     * @since    2.1.6 renamed from MIN
938
     */
939
    public static final PdfName MIN_LOWER_CASE = new PdfName("min");
940
    /**
941
     * A name
942
     * @since    2.1.6
943
     */
944
    public static final PdfName MIN_CAMEL_CASE = new PdfName("Min");
945
    /** A name */
946
    public static final PdfName MK = new PdfName("MK");
947
    /** A name */
948
    public static final PdfName MMTYPE1 = new PdfName("MMType1");
949
    /** A name */
950
    public static final PdfName MODDATE = new PdfName("ModDate");
951
    /** A name */
952
    public static final PdfName N = new PdfName("N");
953
    /** A name */
954
    public static final PdfName N0 = new PdfName("n0");
955
    /** A name */
956
    public static final PdfName N1 = new PdfName("n1");
957
    /** A name */
958
    public static final PdfName N2 = new PdfName("n2");
959
    /** A name */
960
    public static final PdfName N3 = new PdfName("n3");
961
    /** A name */
962
    public static final PdfName N4 = new PdfName("n4");
963
    /** A name */
964
    public static final PdfName NAME = new PdfName("Name");
965
    /** A name */
966
    public static final PdfName NAMED = new PdfName("Named");
967
    /** A name */
968
    public static final PdfName NAMES = new PdfName("Names");
969
    /**
970
     * A name.
971
     * @since 2.1.6
972
     */
973
    public static final PdfName NAVIGATION = new PdfName("Navigation");
974
    /**
975
     * A name.
976
     * @since 2.1.6
977
     */
978
    public static final PdfName NAVIGATIONPANE = new PdfName("NavigationPane");
979
    /**
980
     * A name.
981
     * @since 2.1.6
982
     */
983
    public static final PdfName NEAR = new PdfName("Near");
984
    /** A name */
985
    public static final PdfName NEEDAPPEARANCES = new PdfName("NeedAppearances");
986
    /** A name */
987
    public static final PdfName NEWWINDOW = new PdfName("NewWindow");
988
    /** A name */
989
    public static final PdfName NEXT = new PdfName("Next");
990
    /** A name */
991
    public static final PdfName NEXTPAGE = new PdfName("NextPage");
992
    /** A name */
993
    public static final PdfName NM = new PdfName("NM");
994
    /** A name */
995
    public static final PdfName NONE = new PdfName("None");
996
    /** A name */
997
    public static final PdfName NONFULLSCREENPAGEMODE = new PdfName("NonFullScreenPageMode");
998
    /**
999
     * A name
1000
     * @since 2.1.6
1001
     */
1002
    public static final PdfName NONSTRUCT = new PdfName("NonStruct");
1003
    /**
1004
     * A name
1005
     * @since 2.1.6
1006
     */
1007
    public static final PdfName NOTE = new PdfName("Note");
1008
    /** A name */
1009
    public static final PdfName NUMCOPIES = new PdfName("NumCopies");
1010
    /** A name */
1011
    public static final PdfName NUMS = new PdfName("Nums");
1012
    /** A name */
1013
    public static final PdfName O = new PdfName("O");
1014
    /**
1015
     * A name used with Document Structure
1016
     * @since 2.1.5
1017
     */
1018
    public static final PdfName OBJ = new PdfName("Obj");
1019
    /**
1020
     * a name used with Doucment Structure
1021
     * @since 2.1.5
1022
     */
1023
    public static final PdfName OBJR = new PdfName("OBJR");
1024
    /** A name */
1025
    public static final PdfName OBJSTM = new PdfName("ObjStm");
1026
    /** A name */
1027
    public static final PdfName OC = new PdfName("OC");
1028
    /** A name */
1029
    public static final PdfName OCG = new PdfName("OCG");
1030
    /** A name */
1031
    public static final PdfName OCGS = new PdfName("OCGs");
1032
    /** A name */
1033
    public static final PdfName OCMD = new PdfName("OCMD");
1034
    /** A name */
1035
    public static final PdfName OCPROPERTIES = new PdfName("OCProperties");
1036
    /** A name */
1037
    public static final PdfName Off = new PdfName("Off");
1038
    /** A name */
1039
    public static final PdfName OFF = new PdfName("OFF");
1040
    /** A name */
1041
    public static final PdfName ON = new PdfName("ON");
1042
    /** A name */
1043
    public static final PdfName ONECOLUMN = new PdfName("OneColumn");
1044
    /** A name */
1045
    public static final PdfName OPEN = new PdfName("Open");
1046
    /** A name */
1047
    public static final PdfName OPENACTION = new PdfName("OpenAction");
1048
    /** A name */
1049
    public static final PdfName OP = new PdfName("OP");
1050
    /** A name */
1051
    public static final PdfName op = new PdfName("op");
1052
    /** A name */
1053
    public static final PdfName OPM = new PdfName("OPM");
1054
    /** A name */
1055
    public static final PdfName OPT = new PdfName("Opt");
1056
    /** A name */
1057
    public static final PdfName ORDER = new PdfName("Order");
1058
    /** A name */
1059
    public static final PdfName ORDERING = new PdfName("Ordering");
1060
    /**
1061
     * A name.
1062
     * @since 2.1.6
1063
     */
1064
    public static final PdfName OSCILLATING = new PdfName("Oscillating");
1065
    
1066
    /** A name */
1067
    public static final PdfName OUTLINES = new PdfName("Outlines");
1068
    /** A name */
1069
    public static final PdfName OUTPUTCONDITION = new PdfName("OutputCondition");
1070
    /** A name */
1071
    public static final PdfName OUTPUTCONDITIONIDENTIFIER = new PdfName("OutputConditionIdentifier");
1072
    /** A name */
1073
    public static final PdfName OUTPUTINTENT = new PdfName("OutputIntent");
1074
    /** A name */
1075
    public static final PdfName OUTPUTINTENTS = new PdfName("OutputIntents");
1076
    /** A name */
1077
    public static final PdfName P = new PdfName("P");
1078
    /** A name */
1079
    public static final PdfName PAGE = new PdfName("Page");
1080
    /** A name */
1081
    public static final PdfName PAGELABELS = new PdfName("PageLabels");
1082
    /** A name */
1083
    public static final PdfName PAGELAYOUT = new PdfName("PageLayout");
1084
    /** A name */
1085
    public static final PdfName PAGEMODE = new PdfName("PageMode");
1086
    /** A name */
1087
    public static final PdfName PAGES = new PdfName("Pages");
1088
    /** A name */
1089
    public static final PdfName PAINTTYPE = new PdfName("PaintType");
1090
    /** A name */
1091
    public static final PdfName PANOSE = new PdfName("Panose");
1092
    /** A name */
1093
    public static final PdfName PARAMS = new PdfName("Params");
1094
    /** A name */
1095
    public static final PdfName PARENT = new PdfName("Parent");
1096
    /** A name */
1097
    public static final PdfName PARENTTREE = new PdfName("ParentTree");
1098
    /**
1099
     * A name used in defining Document Structure.
1100
     * @since 2.1.5
1101
     */
1102
    public static final PdfName PARENTTREENEXTKEY = new PdfName( "ParentTreeNextKey" );
1103
    /**
1104
     * A name
1105
     * @since 2.1.6
1106
     */
1107
    public static final PdfName PART = new PdfName( "Part" );
1108
    /**
1109
     * A name.
1110
     * @since 2.1.6
1111
     */
1112
    public static final PdfName PASSCONTEXTCLICK = new PdfName("PassContextClick");
1113
    /** A name */
1114
    public static final PdfName PATTERN = new PdfName("Pattern");
1115
    /** A name */
1116
    public static final PdfName PATTERNTYPE = new PdfName("PatternType");
1117
    /**
1118
     * A name.
1119
     * @since 2.1.6
1120
     */
1121
    public static final PdfName PC = new PdfName("PC");
1122
    /** A name */
1123
    public static final PdfName PDF = new PdfName("PDF");
1124
    /** A name */
1125
    public static final PdfName PDFDOCENCODING = new PdfName("PDFDocEncoding");
1126
    /** A name */
1127
    public static final PdfName PERCEPTUAL = new PdfName("Perceptual");
1128
    /** A name */
1129
    public static final PdfName PERMS = new PdfName("Perms");
1130
    /** A name */
1131
    public static final PdfName PG = new PdfName("Pg");
1132
    /**
1133
     * A name.
1134
     * @since 2.1.6
1135
     */
1136
    public static final PdfName PI = new PdfName("PI");
1137
    /** A name */
1138
    public static final PdfName PICKTRAYBYPDFSIZE = new PdfName("PickTrayByPDFSize");
1139
    /**
1140
     * A name.
1141
     * @since 2.1.6
1142
     */
1143
    public static final PdfName PLAYCOUNT = new PdfName("PlayCount");
1144
    /**
1145
     * A name.
1146
     * @since 2.1.6
1147
     */
1148
    public static final PdfName PO = new PdfName("PO");
1149
    /** A name */
1150
    public static final PdfName POPUP = new PdfName("Popup");
1151
    /**
1152
     * A name.
1153
     * @since 2.1.6
1154
     */
1155
    public static final PdfName POSITION = new PdfName("Position");
1156
    /** A name */
1157
    public static final PdfName PREDICTOR = new PdfName("Predictor");
1158
    /** A name */
1159
    public static final PdfName PREFERRED = new PdfName("Preferred");
1160
    /**
1161
     * A name.
1162
     * @since 2.1.6
1163
     */
1164
    public static final PdfName PRESENTATION = new PdfName("Presentation");
1165
    /** A name */
1166
    public static final PdfName PRESERVERB = new PdfName("PreserveRB");
1167
    /** A name */
1168
    public static final PdfName PREV = new PdfName("Prev");
1169
    /** A name */
1170
    public static final PdfName PREVPAGE = new PdfName("PrevPage");
1171
    /** A name */
1172
    public static final PdfName PRINT = new PdfName("Print");
1173
    /** A name */
1174
    public static final PdfName PRINTAREA = new PdfName("PrintArea");
1175
    /** A name */
1176
    public static final PdfName PRINTCLIP = new PdfName("PrintClip");
1177
    /** A name */
1178
    public static final PdfName PRINTPAGERANGE = new PdfName("PrintPageRange");
1179
    /** A name */
1180
    public static final PdfName PRINTSCALING = new PdfName("PrintScaling");
1181
    /** A name */
1182
    public static final PdfName PRINTSTATE = new PdfName("PrintState");
1183
    /**
1184
     * A name
1185
     * @since 2.1.6
1186
     */
1187
    public static final PdfName PRIVATE = new PdfName("Private");
1188
    /** A name */
1189
    public static final PdfName PROCSET = new PdfName("ProcSet");
1190
    /** A name */
1191
    public static final PdfName PRODUCER = new PdfName("Producer");
1192
    /** A name */
1193
    public static final PdfName PROPERTIES = new PdfName("Properties");
1194
    /** A name */
1195
    public static final PdfName PS = new PdfName("PS");
1196
    /** A name */
1197
    public static final PdfName PUBSEC = new PdfName("Adobe.PubSec");
1198
    /**
1199
     * A name.
1200
     * @since 2.1.6
1201
     */
1202
    public static final PdfName PV = new PdfName("PV");
1203
    /** A name */
1204
    public static final PdfName Q = new PdfName("Q");
1205
    /** A name */
1206
    public static final PdfName QUADPOINTS = new PdfName("QuadPoints");
1207
    /**
1208
     * A name
1209
     * @since 2.1.6
1210
     */
1211
    public static final PdfName QUOTE = new PdfName("Quote");
1212
    /** A name */
1213
    public static final PdfName R = new PdfName("R");
1214
    /** A name */
1215
    public static final PdfName R2L = new PdfName("R2L");
1216
    /** A name */
1217
    public static final PdfName RANGE = new PdfName("Range");
1218
    /** A name */
1219
    public static final PdfName RC = new PdfName("RC");
1220
    /** A name */
1221
    public static final PdfName RBGROUPS = new PdfName("RBGroups");
1222
    /** A name */
1223
    public static final PdfName REASON = new PdfName("Reason");
1224
    /** A name */
1225
    public static final PdfName RECIPIENTS = new PdfName("Recipients");
1226
    /** A name */
1227
    public static final PdfName RECT = new PdfName("Rect");
1228
    /** A name */
1229
    public static final PdfName REFERENCE = new PdfName("Reference");
1230
    /** A name */
1231
    public static final PdfName REGISTRY = new PdfName("Registry");
1232
    /** A name */
1233
    public static final PdfName REGISTRYNAME = new PdfName("RegistryName");
1234
    /**
1235
     * A name
1236
     * @since    2.1.5 renamed from RELATIVECALORIMETRIC
1237
     */
1238
    public static final PdfName RELATIVECOLORIMETRIC = new PdfName("RelativeColorimetric");
1239
    /** A name */
1240
    public static final PdfName RENDITION = new PdfName("Rendition");
1241
    /** A name */
1242
    public static final PdfName RESETFORM = new PdfName("ResetForm");
1243
    /** A name */
1244
    public static final PdfName RESOURCES = new PdfName("Resources");
1245
    /** A name */
1246
    public static final PdfName RI = new PdfName("RI");
1247
    /**
1248
     * A name.
1249
     * @since 2.1.6
1250
     */
1251
    public static final PdfName RICHMEDIA = new PdfName("RichMedia");
1252
    /**
1253
     * A name.
1254
     * @since 2.1.6
1255
     */
1256
    public static final PdfName RICHMEDIAACTIVATION = new PdfName("RichMediaActivation");
1257
    /**
1258
     * A name.
1259
     * @since 2.1.6
1260
     */
1261
    public static final PdfName RICHMEDIAANIMATION = new PdfName("RichMediaAnimation");
1262
    /**
1263
     * A name
1264
     * @since    2.1.6
1265
     */
1266
    public static final PdfName RICHMEDIACOMMAND = new PdfName("RichMediaCommand");
1267
    /**
1268
     * A name.
1269
     * @since 2.1.6
1270
     */
1271
    public static final PdfName RICHMEDIACONFIGURATION = new PdfName("RichMediaConfiguration");
1272
    /**
1273
     * A name.
1274
     * @since 2.1.6
1275
     */
1276
    public static final PdfName RICHMEDIACONTENT = new PdfName("RichMediaContent");
1277
    /**
1278
     * A name.
1279
     * @since 2.1.6
1280
     */
1281
    public static final PdfName RICHMEDIADEACTIVATION = new PdfName("RichMediaDeactivation");
1282
    /**
1283
     * A name.
1284
     * @since 2.1.6
1285
     */
1286
    public static final PdfName RICHMEDIAEXECUTE = new PdfName("RichMediaExecute");
1287
    /**
1288
     * A name.
1289
     * @since 2.1.6
1290
     */
1291
    public static final PdfName RICHMEDIAINSTANCE = new PdfName("RichMediaInstance");
1292
    /**
1293
     * A name.
1294
     * @since 2.1.6
1295
     */
1296
    public static final PdfName RICHMEDIAPARAMS = new PdfName("RichMediaParams");
1297
    /**
1298
     * A name.
1299
     * @since 2.1.6
1300
     */
1301
    public static final PdfName RICHMEDIAPOSITION = new PdfName("RichMediaPosition");
1302
    /**
1303
     * A name.
1304
     * @since 2.1.6
1305
     */
1306
    public static final PdfName RICHMEDIAPRESENTATION = new PdfName("RichMediaPresentation");
1307
    /**
1308
     * A name.
1309
     * @since 2.1.6
1310
     */
1311
    public static final PdfName RICHMEDIASETTINGS = new PdfName("RichMediaSettings");
1312
    /**
1313
     * A name.
1314
     * @since 2.1.6
1315
     */
1316
    public static final PdfName RICHMEDIAWINDOW = new PdfName("RichMediaWindow");
1317
    /** A name */
1318
    public static final PdfName ROLEMAP = new PdfName("RoleMap");
1319
    /** A name */
1320
    public static final PdfName ROOT = new PdfName("Root");
1321
    /** A name */
1322
    public static final PdfName ROTATE = new PdfName("Rotate");
1323
    /** A name */
1324
    public static final PdfName ROWS = new PdfName("Rows");
1325
    /**
1326
     * A name
1327
     * @since 2.1.6
1328
     */
1329
    public static final PdfName RUBY = new PdfName( "Ruby" );
1330
    /** A name */
1331
    public static final PdfName RUNLENGTHDECODE = new PdfName("RunLengthDecode");
1332
    /** A name */
1333
    public static final PdfName RV = new PdfName("RV");
1334
    /** A name */
1335
    public static final PdfName S = new PdfName("S");
1336
    /** A name */
1337
    public static final PdfName SATURATION = new PdfName("Saturation");
1338
    /** A name */
1339
    public static final PdfName SCHEMA = new PdfName("Schema");
1340
    /** A name */
1341
    public static final PdfName SCREEN = new PdfName("Screen");
1342
    /**
1343
     * A name.
1344
     * @since 2.1.6
1345
     */
1346
    public static final PdfName SCRIPTS = new PdfName("Scripts");
1347
    /** A name */
1348
    public static final PdfName SECT = new PdfName("Sect");
1349
    /** A name */
1350
    public static final PdfName SEPARATION = new PdfName("Separation");
1351
    /** A name */
1352
    public static final PdfName SETOCGSTATE = new PdfName("SetOCGState");
1353
    /**
1354
     * A name.
1355
     * @since 2.1.6
1356
     */
1357
    public static final PdfName SETTINGS = new PdfName("Settings");
1358
    /** A name */
1359
    public static final PdfName SHADING = new PdfName("Shading");
1360
    /** A name */
1361
    public static final PdfName SHADINGTYPE = new PdfName("ShadingType");
1362
    /** A name */
1363
    public static final PdfName SHIFT_JIS = new PdfName("Shift-JIS");
1364
    /** A name */
1365
    public static final PdfName SIG = new PdfName("Sig");
1366
    /** A name */
1367
    public static final PdfName SIGFLAGS = new PdfName("SigFlags");
1368
    /** A name */
1369
    public static final PdfName SIGREF = new PdfName("SigRef");
1370
    /** A name */
1371
    public static final PdfName SIMPLEX = new PdfName("Simplex");
1372
    /** A name */
1373
    public static final PdfName SINGLEPAGE = new PdfName("SinglePage");
1374
    /** A name */
1375
    public static final PdfName SIZE = new PdfName("Size");
1376
    /** A name */
1377
    public static final PdfName SMASK = new PdfName("SMask");
1378
    /** A name */
1379
    public static final PdfName SORT = new PdfName("Sort");
1380
    /**
1381
     * A name.
1382
     * @since 2.1.6
1383
     */
1384
    public static final PdfName SOUND = new PdfName("Sound");
1385
    /** A name */
1386
    public static final PdfName SPAN = new PdfName("Span");
1387
    /**
1388
     * A name.
1389
     * @since 2.1.6
1390
     */
1391
    public static final PdfName SPEED = new PdfName("Speed");
1392
    /** A name */
1393
    public static final PdfName SPLIT = new PdfName("Split");
1394
    /** A name */
1395
    public static final PdfName SQUARE = new PdfName("Square");
1396
    /**
1397
     * A name
1398
     * @since 2.1.3
1399
     */
1400
    public static final PdfName SQUIGGLY = new PdfName("Squiggly");
1401
    /** A name */
1402
    public static final PdfName ST = new PdfName("St");
1403
    /** A name */
1404
    public static final PdfName STAMP = new PdfName("Stamp");
1405
    /** A name */
1406
    public static final PdfName STANDARD = new PdfName("Standard");
1407
    /** A name */
1408
    public static final PdfName STATE = new PdfName("State");
1409
    /** A name */
1410
    public static final PdfName STDCF = new PdfName("StdCF");
1411
    /** A name */
1412
    public static final PdfName STEMV = new PdfName("StemV");
1413
    /** A name */
1414
    public static final PdfName STMF = new PdfName("StmF");
1415
    /** A name */
1416
    public static final PdfName STRF = new PdfName("StrF");
1417
    /** A name */
1418
    public static final PdfName STRIKEOUT = new PdfName("StrikeOut");
1419
    /** A name */
1420
    public static final PdfName STRUCTPARENT = new PdfName("StructParent");
1421
    /** A name */
1422
    public static final PdfName STRUCTPARENTS = new PdfName("StructParents");
1423
    /** A name */
1424
    public static final PdfName STRUCTTREEROOT = new PdfName("StructTreeRoot");
1425
    /** A name */
1426
    public static final PdfName STYLE = new PdfName("Style");
1427
    /** A name */
1428
    public static final PdfName SUBFILTER = new PdfName("SubFilter");
1429
    /** A name */
1430
    public static final PdfName SUBJECT = new PdfName("Subject");
1431
    /** A name */
1432
    public static final PdfName SUBMITFORM = new PdfName("SubmitForm");
1433
    /** A name */
1434
    public static final PdfName SUBTYPE = new PdfName("Subtype");
1435
    /** A name */
1436
    public static final PdfName SUPPLEMENT = new PdfName("Supplement");
1437
    /** A name */
1438
    public static final PdfName SV = new PdfName("SV");
1439
    /** A name */
1440
    public static final PdfName SW = new PdfName("SW");
1441
    /** A name of a base 14 type 1 font */
1442
    public static final PdfName SYMBOL = new PdfName("Symbol");
1443
    /** A name */
1444
    public static final PdfName T = new PdfName("T");
1445
    /**
1446
     * A name
1447
     * @since    2.1.6
1448
     */
1449
    public static final PdfName TA = new PdfName("TA");
1450
    /**
1451
     * A name
1452
     * @since 2.1.6
1453
     */
1454
    public static final PdfName TABLE = new PdfName("Table");
1455
    /**
1456
     * A name
1457
     * @since    2.1.5
1458
     */
1459
    public static final PdfName TABS = new PdfName("Tabs");
1460
    /**
1461
     * A name
1462
     * @since 2.1.6
1463
     */
1464
    public static final PdfName TBODY = new PdfName("TBody");
1465
    /**
1466
     * A name
1467
     * @since 2.1.6
1468
     */
1469
    public static final PdfName TD = new PdfName("TD");
1470
    /** A name */
1471
    public static final PdfName TEXT = new PdfName("Text");
1472
    /**
1473
     * A name
1474
     * @since 2.1.6
1475
     */
1476
    public static final PdfName TFOOT = new PdfName("TFoot");
1477
    /**
1478
     * A name
1479
     * @since 2.1.6
1480
     */
1481
    public static final PdfName TH = new PdfName("TH");
1482
    /**
1483
     * A name
1484
     * @since 2.1.6
1485
     */
1486
    public static final PdfName THEAD = new PdfName("THead");
1487
    /** A name */
1488
    public static final PdfName THUMB = new PdfName("Thumb");
1489
    /** A name */
1490
    public static final PdfName THREADS = new PdfName("Threads");
1491
    /** A name */
1492
    public static final PdfName TI = new PdfName("TI");
1493
    /**
1494
     * A name
1495
     * @since    2.1.6
1496
     */
1497
    public static final PdfName TIME = new PdfName("Time");
1498
    /** A name */
1499
    public static final PdfName TILINGTYPE = new PdfName("TilingType");
1500
    /** A name of a base 14 type 1 font */
1501
    public static final PdfName TIMES_ROMAN = new PdfName("Times-Roman");
1502
    /** A name of a base 14 type 1 font */
1503
    public static final PdfName TIMES_BOLD = new PdfName("Times-Bold");
1504
    /** A name of a base 14 type 1 font */
1505
    public static final PdfName TIMES_ITALIC = new PdfName("Times-Italic");
1506
    /** A name of a base 14 type 1 font */
1507
    public static final PdfName TIMES_BOLDITALIC = new PdfName("Times-BoldItalic");
1508
    /** A name */
1509
    public static final PdfName TITLE = new PdfName("Title");
1510
    /** A name */
1511
    public static final PdfName TK = new PdfName("TK");
1512
    /** A name */
1513
    public static final PdfName TM = new PdfName("TM"); 
1514
    /**
1515
     * A name
1516
     * @since 2.1.6
1517
     */
1518
    public static final PdfName TOC = new PdfName("TOC");
1519
    /**
1520
     * A name
1521
     * @since 2.1.6
1522
     */
1523
    public static final PdfName TOCI = new PdfName("TOCI");
1524
    /** A name */
1525
    public static final PdfName TOGGLE = new PdfName("Toggle");
1526
    /**
1527
     * A name.
1528
     * @since 2.1.6
1529
     */
1530
    public static final PdfName TOOLBAR = new PdfName("Toolbar");
1531
    /** A name */
1532
    public static final PdfName TOUNICODE = new PdfName("ToUnicode");
1533
    /** A name */
1534
    public static final PdfName TP = new PdfName("TP");
1535
    /**
1536
     * A name
1537
     * @since 2.1.6
1538
     */
1539
    public static final PdfName TABLEROW = new PdfName( "TR" );
1540
    /** A name */
1541
    public static final PdfName TRANS = new PdfName("Trans");
1542
    /** A name */
1543
    public static final PdfName TRANSFORMPARAMS = new PdfName("TransformParams");
1544
    /** A name */
1545
    public static final PdfName TRANSFORMMETHOD = new PdfName("TransformMethod");
1546
    /** A name */
1547
    public static final PdfName TRANSPARENCY = new PdfName("Transparency");
1548
    /**
1549
     * A name.
1550
     * @since 2.1.6
1551
     */
1552
    public static final PdfName TRANSPARENT = new PdfName("Transparent");
1553
    /** A name */
1554
    public static final PdfName TRAPPED = new PdfName("Trapped");
1555
    /** A name */
1556
    public static final PdfName TRIMBOX = new PdfName("TrimBox");
1557
    /** A name */
1558
    public static final PdfName TRUETYPE = new PdfName("TrueType");
1559
    /** A name */
1560
    public static final PdfName TU = new PdfName("TU");
1561
    /** A name */
1562
    public static final PdfName TWOCOLUMNLEFT = new PdfName("TwoColumnLeft");
1563
    /** A name */
1564
    public static final PdfName TWOCOLUMNRIGHT = new PdfName("TwoColumnRight");
1565
    /** A name */
1566
    public static final PdfName TWOPAGELEFT = new PdfName("TwoPageLeft");
1567
    /** A name */
1568
    public static final PdfName TWOPAGERIGHT = new PdfName("TwoPageRight");
1569
    /** A name */
1570
    public static final PdfName TX = new PdfName("Tx");
1571
    /** A name */
1572
    public static final PdfName TYPE = new PdfName("Type");
1573
    /** A name */
1574
    public static final PdfName TYPE0 = new PdfName("Type0");
1575
    /** A name */
1576
    public static final PdfName TYPE1 = new PdfName("Type1");
1577
    /** A name of an attribute. */
1578
    public static final PdfName TYPE3 = new PdfName("Type3");
1579
    /** A name of an attribute. */
1580
    public static final PdfName U = new PdfName("U");
1581
    /** A name of an attribute. */
1582
    public static final PdfName UF = new PdfName("UF");
1583
    /** A name of an attribute. */
1584
    public static final PdfName UHC = new PdfName("UHC");
1585
    /** A name of an attribute. */
1586
    public static final PdfName UNDERLINE = new PdfName("Underline");
1587
    /** A name */
1588
    public static final PdfName UR = new PdfName("UR");
1589
    /** A name */
1590
    public static final PdfName UR3 = new PdfName("UR3");
1591
    /** A name */
1592
    public static final PdfName URI = new PdfName("URI");
1593
    /** A name */
1594
    public static final PdfName URL = new PdfName("URL");
1595
    /** A name */
1596
    public static final PdfName USAGE = new PdfName("Usage");
1597
    /** A name */
1598
    public static final PdfName USEATTACHMENTS = new PdfName("UseAttachments");
1599
    /** A name */
1600
    public static final PdfName USENONE = new PdfName("UseNone");
1601
    /** A name */
1602
    public static final PdfName USEOC = new PdfName("UseOC");
1603
    /** A name */
1604
    public static final PdfName USEOUTLINES = new PdfName("UseOutlines");
1605
    /** A name */
1606
    public static final PdfName USER = new PdfName("User");
1607
    /** A name */
1608
    public static final PdfName USERPROPERTIES = new PdfName("UserProperties");
1609
    /** A name */
1610
    public static final PdfName USERUNIT = new PdfName("UserUnit");
1611
    /** A name */
1612
    public static final PdfName USETHUMBS = new PdfName("UseThumbs");
1613
    /** A name */
1614
    public static final PdfName V = new PdfName("V");
1615
    /** A name */
1616
    public static final PdfName V2 = new PdfName("V2");
1617
    /**
1618
     * A name.
1619
     * @since 2.1.6
1620
     */
1621
    public static final PdfName VALIGN = new PdfName("VAlign");
1622
    /** A name */
1623
    public static final PdfName VERISIGN_PPKVS = new PdfName("VeriSign.PPKVS");
1624
    /** A name */
1625
    public static final PdfName VERSION = new PdfName("Version");
1626
    /**
1627
     * A name.
1628
     * @since 2.1.6
1629
     */
1630
    public static final PdfName VIDEO = new PdfName("Video");
1631
    /** A name */
1632
    public static final PdfName VIEW = new PdfName("View");
1633
    /**
1634
     * A name.
1635
     * @since 2.1.6
1636
     */
1637
    public static final PdfName VIEWS = new PdfName("Views");
1638
    /** A name */
1639
    public static final PdfName VIEWAREA = new PdfName("ViewArea");
1640
    /** A name */
1641
    public static final PdfName VIEWCLIP = new PdfName("ViewClip");
1642
    /** A name */
1643
    public static final PdfName VIEWERPREFERENCES = new PdfName("ViewerPreferences");
1644
    /** A name */
1645
    public static final PdfName VIEWSTATE = new PdfName("ViewState");
1646
    /** A name */
1647
    public static final PdfName VISIBLEPAGES = new PdfName("VisiblePages");
1648
    /**
1649
     * A name.
1650
     * @since 2.1.6
1651
     */
1652
    public static final PdfName VOFFSET = new PdfName("VOffset");
1653
    /** A name of an attribute. */
1654
    public static final PdfName W = new PdfName("W");
1655
    /** A name of an attribute. */
1656
    public static final PdfName W2 = new PdfName("W2");
1657
    /**
1658
     * A name
1659
     * @since 2.1.6
1660
     */
1661
    public static final PdfName WARICHU = new PdfName("Warichu");
1662
    /** A name of an attribute. */
1663
    public static final PdfName WC = new PdfName("WC");
1664
    /** A name of an attribute. */
1665
    public static final PdfName WIDGET = new PdfName("Widget");
1666
    /** A name of an attribute. */
1667
    public static final PdfName WIDTH = new PdfName("Width");
1668
    /** A name */
1669
    public static final PdfName WIDTHS = new PdfName("Widths");
1670
    /** A name of an encoding */
1671
    public static final PdfName WIN = new PdfName("Win");
1672
    /** A name of an encoding */
1673
    public static final PdfName WIN_ANSI_ENCODING = new PdfName("WinAnsiEncoding");
1674
    /**
1675
     * A name.
1676
     * @since 2.1.6
1677
     */
1678
    public static final PdfName WINDOW = new PdfName("Window");
1679
    /**
1680
     * A name.
1681
     * @since 2.1.6
1682
     */
1683
    public static final PdfName WINDOWED = new PdfName("Windowed");
1684
    /** A name of an encoding */
1685
    public static final PdfName WIPE = new PdfName("Wipe");
1686
    /** A name */
1687
    public static final PdfName WHITEPOINT = new PdfName("WhitePoint");
1688
    /** A name */
1689
    public static final PdfName WP = new PdfName("WP");
1690
    /** A name of an encoding */
1691
    public static final PdfName WS = new PdfName("WS");
1692
    /** A name */
1693
    public static final PdfName X = new PdfName("X");
1694
    /**
1695
     * A name.
1696
     * @since 2.1.6
1697
     */
1698
    public static final PdfName XA = new PdfName("XA");
1699
    /**
1700
     * A name.
1701
     * @since 2.1.6
1702
     */
1703
    public static final PdfName XD = new PdfName("XD");
1704
    /** A name */
1705
    public static final PdfName XFA = new PdfName("XFA");
1706
    /** A name */
1707
    public static final PdfName XML = new PdfName("XML");
1708
    /** A name */
1709
    public static final PdfName XOBJECT = new PdfName("XObject");
1710
    /** A name */
1711
    public static final PdfName XSTEP = new PdfName("XStep");
1712
    /** A name */
1713
    public static final PdfName XREF = new PdfName("XRef");
1714
    /** A name */
1715
    public static final PdfName XREFSTM = new PdfName("XRefStm");
1716
    /** A name */
1717
    public static final PdfName XYZ = new PdfName("XYZ");
1718
    /** A name */
1719
    public static final PdfName YSTEP = new PdfName("YStep");
1720
    /** A name */
1721
    public static final PdfName ZADB = new PdfName("ZaDb");
1722
    /** A name of a base 14 type 1 font */
1723
    public static final PdfName ZAPFDINGBATS = new PdfName("ZapfDingbats");
1724
    /** A name */
1725
    public static final PdfName ZOOM = new PdfName("Zoom");
1726
1727
    /**
1728
     * map strings to all known static names
1729
     * @since 2.1.6
1730
     */
1731
    public static Map<String, PdfName> staticNames;
1732
1733
    /**
1734
     * Use reflection to cache all the static public final names so
1735
     * future <code>PdfName</code> additions don't have to be "added twice".
1736
     * A bit less efficient (around 50ms spent here on a 2.2ghz machine),
1737
     *  but Much Less error prone.
1738
     * @since 2.1.6
1739
     */
1740
1741
    static {
1742
        Field[] fields = PdfName.class.getDeclaredFields();
1743
        staticNames = new HashMap<>(fields.length);
1744
        final int flags = Modifier.STATIC | Modifier.PUBLIC | Modifier.FINAL;
1745
        try {
1746
            for (Field curFld : fields) {
1747
                if ((curFld.getModifiers() & flags) == flags &&
1748
                        curFld.getType().equals(PdfName.class)) {
1749
                    PdfName name = (PdfName) curFld.get(null);
1750
                    staticNames.put(decodeName(name.toString()), name);
1751
                }
1752
            }
1753
        } catch (Exception e) {
1754
            e.printStackTrace();
1755
        }
1756
    }
1757
    // CLASS VARIABLES
1758
1759
    private int hash = 0;
1760
1761
    // CONSTRUCTORS
1762
1763
    /**
1764
     * Constructs a new <CODE>PdfName</CODE>. The name length will be checked.
1765
     *
1766
     * @param name the new name
1767
     */
1768
    public PdfName(String name) {
1769
        this(name, true);
1770
    }
1771
1772
    /**
1773
     * Constructs a new <CODE>PdfName</CODE>.
1774
     * @param name the new name
1775
     * @param lengthCheck if <CODE>true</CODE> check the length validity,
1776
     * if <CODE>false</CODE> the name can have any length
1777
     */
1778
    public PdfName(String name, boolean lengthCheck) {
1779
        super(PdfObject.NAME);
1780
        // The minimum number of characters in a name is 0, the maximum is 127 (the '/' not included)
1781
        int length = name.length();
1782 3 1. : changed conditional boundary → NO_COVERAGE
2. : negated conditional → NO_COVERAGE
3. : negated conditional → NO_COVERAGE
        if (lengthCheck && length > 127)
1783
            throw new IllegalArgumentException(MessageLocalization.getComposedMessage("the.name.1.is.too.long.2.characters", name, String.valueOf(length)));
1784
        bytes = encodeName(name);
1785
    }
1786
1787
    /**
1788
     * Constructs a PdfName.
1789
     *
1790
     * @param bytes the byte representation of the name
1791
     */
1792
    public PdfName(byte[] bytes) {
1793
        super(PdfObject.NAME, bytes);
1794
    }
1795
1796
    // CLASS METHODS
1797
1798
    /**
1799
     * Compares this object with the specified object for order.
1800
     * Returns a negative integer, zero, or a positive integer as this object
1801
     * is less than, equal to, or greater than the specified object.<p>
1802
     *
1803
     * @param object the Object to be compared.
1804
     * @return a negative integer, zero, or a positive integer as this object
1805
     * is less than, equal to, or greater than the specified object.
1806
     * @throws ClassCastException if the specified object's type prevents it
1807
     * from being compared to this Object.
1808
     */
1809
    public int compareTo(Object object) {
1810
        PdfName name = (PdfName) object;
1811
        byte[] myBytes = bytes;
1812
        byte[] objBytes = name.bytes;
1813
        int len = Math.min(myBytes.length, objBytes.length);
1814 3 1. compareTo : changed conditional boundary → NO_COVERAGE
2. compareTo : Changed increment from 1 to -1 → NO_COVERAGE
3. compareTo : negated conditional → NO_COVERAGE
        for(int i = 0; i < len; i++) {
1815 2 1. compareTo : changed conditional boundary → NO_COVERAGE
2. compareTo : negated conditional → NO_COVERAGE
            if (myBytes[i] > objBytes[i])
1816 1 1. compareTo : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE
                return 1;
1817 2 1. compareTo : changed conditional boundary → NO_COVERAGE
2. compareTo : negated conditional → NO_COVERAGE
            if (myBytes[i] < objBytes[i])
1818 1 1. compareTo : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE
                return -1;
1819
        }
1820 1 1. compareTo : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE
        return Integer.compare(myBytes.length, objBytes.length);
1821
    }
1822
1823
    /**
1824
     * Indicates whether some other object is "equal to" this one.
1825
     *
1826
     * @param   obj   the reference object with which to compare.
1827
     * @return  <code>true</code> if this object is the same as the obj
1828
     * argument; <code>false</code> otherwise.
1829
     */
1830
    public boolean equals(Object obj) {
1831 1 1. equals : negated conditional → NO_COVERAGE
        if (this == obj)
1832 1 1. equals : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE
            return true;
1833 1 1. equals : negated conditional → NO_COVERAGE
        if (obj instanceof PdfName)
1834 2 1. equals : negated conditional → NO_COVERAGE
2. equals : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE
            return compareTo(obj) == 0;
1835 1 1. equals : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE
        return false;
1836
    }
1837
1838
    /**
1839
     * Returns a hash code value for the object.
1840
     * This method is supported for the benefit of hashtables such as those provided by
1841
     * <code>java.util.Hashtable</code>.
1842
     *
1843
     * @return  a hash code value for this object.
1844
     */
1845
    public int hashCode() {
1846
        int h = hash;
1847
        if (h == 0) {
1848
            int ptr = 0;
1849
            int len = bytes.length;
1850
            for (int i = 0; i < len; i++)
1851
                h = 31*h + (bytes[ptr++] & 0xff);
1852
            hash = h;
1853
        }
1854
        return h;
1855
    }
1856
1857
    /**
1858
     * Encodes a plain name given in the unescaped form "AB CD" into "/AB#20CD".
1859
     *
1860
     * @param name the name to encode
1861
     * @return the encoded name
1862
     * @since    2.1.5
1863
     */
1864
    public static byte[] encodeName(String name) {
1865
        int length = name.length();
1866 1 1. encodeName : Replaced integer addition with subtraction → NO_COVERAGE
        ByteBuffer buf = new ByteBuffer(length + 20);
1867
        buf.append('/');
1868
        char c;
1869
        char[] chars = name.toCharArray();
1870 3 1. encodeName : changed conditional boundary → NO_COVERAGE
2. encodeName : Changed increment from 1 to -1 → NO_COVERAGE
3. encodeName : negated conditional → NO_COVERAGE
        for (int k = 0; k < length; k++) {
1871 1 1. encodeName : Replaced bitwise AND with OR → NO_COVERAGE
            c = (char)(chars[k] & 0xff);
1872
            // Escape special characters
1873
            switch (c) {
1874
                case ' ':
1875
                case '%':
1876
                case '(':
1877
                case ')':
1878
                case '<':
1879
                case '>':
1880
                case '[':
1881
                case ']':
1882
                case '{':
1883
                case '}':
1884
                case '/':
1885
                case '#':
1886
                    buf.append('#');
1887
                    buf.append(Integer.toString(c, 16));
1888
                    break;
1889
                default:
1890 4 1. encodeName : changed conditional boundary → NO_COVERAGE
2. encodeName : changed conditional boundary → NO_COVERAGE
3. encodeName : negated conditional → NO_COVERAGE
4. encodeName : negated conditional → NO_COVERAGE
                    if (c >= 32 && c <= 126)
1891
                        buf.append(c);
1892
                    else {
1893
                        buf.append('#');
1894 2 1. encodeName : changed conditional boundary → NO_COVERAGE
2. encodeName : negated conditional → NO_COVERAGE
                        if (c < 16)
1895
                            buf.append('0');
1896
                        buf.append(Integer.toString(c, 16));
1897
                    }
1898
                    break;
1899
                }
1900
            }
1901 1 1. encodeName : mutated return of Object value for com/lowagie/text/pdf/PdfName::encodeName to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
        return buf.toByteArray();
1902
    }
1903
1904
    /**
1905
     * Decodes an escaped name given in the form "/AB#20CD" into "AB CD".
1906
     *
1907
     * @param name the name to decode
1908
     * @return the decoded name
1909
     */
1910
    public static String decodeName(String name) {
1911
        StringBuilder buf = new StringBuilder();
1912
        try {
1913
            int len = name.length();
1914 3 1. decodeName : changed conditional boundary → NO_COVERAGE
2. decodeName : Changed increment from 1 to -1 → NO_COVERAGE
3. decodeName : negated conditional → NO_COVERAGE
            for (int k = 1; k < len; ++k) {
1915
                char c = name.charAt(k);
1916 1 1. decodeName : negated conditional → NO_COVERAGE
                if (c == '#') {
1917 1 1. decodeName : Replaced integer addition with subtraction → NO_COVERAGE
                    char c1 = name.charAt(k + 1);
1918 1 1. decodeName : Replaced integer addition with subtraction → NO_COVERAGE
                    char c2 = name.charAt(k + 2);
1919 2 1. decodeName : Replaced Shift Left with Shift Right → NO_COVERAGE
2. decodeName : Replaced integer addition with subtraction → NO_COVERAGE
                    c = (char)((PRTokeniser.getHex(c1) << 4) + PRTokeniser.getHex(c2));
1920 1 1. decodeName : Changed increment from 2 to -2 → NO_COVERAGE
                    k += 2;
1921
                }
1922
                buf.append(c);
1923
            }
1924
        }
1925
        catch (IndexOutOfBoundsException e) {
1926
            // empty on purpose
1927
        }
1928 1 1. decodeName : mutated return of Object value for com/lowagie/text/pdf/PdfName::decodeName to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
        return buf.toString();
1929
    }
1930
}

Mutations

1782

1.1
Location :
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location :
Killed by : none
negated conditional → NO_COVERAGE

3.3
Location :
Killed by : none
negated conditional → NO_COVERAGE

1814

1.1
Location : compareTo
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : compareTo
Killed by : none
Changed increment from 1 to -1 → NO_COVERAGE

3.3
Location : compareTo
Killed by : none
negated conditional → NO_COVERAGE

1815

1.1
Location : compareTo
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : compareTo
Killed by : none
negated conditional → NO_COVERAGE

1816

1.1
Location : compareTo
Killed by : none
replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE

1817

1.1
Location : compareTo
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : compareTo
Killed by : none
negated conditional → NO_COVERAGE

1818

1.1
Location : compareTo
Killed by : none
replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE

1820

1.1
Location : compareTo
Killed by : none
replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE

1831

1.1
Location : equals
Killed by : none
negated conditional → NO_COVERAGE

1832

1.1
Location : equals
Killed by : none
replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE

1833

1.1
Location : equals
Killed by : none
negated conditional → NO_COVERAGE

1834

1.1
Location : equals
Killed by : none
negated conditional → NO_COVERAGE

2.2
Location : equals
Killed by : none
replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE

1835

1.1
Location : equals
Killed by : none
replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE

1866

1.1
Location : encodeName
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

1870

1.1
Location : encodeName
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : encodeName
Killed by : none
Changed increment from 1 to -1 → NO_COVERAGE

3.3
Location : encodeName
Killed by : none
negated conditional → NO_COVERAGE

1871

1.1
Location : encodeName
Killed by : none
Replaced bitwise AND with OR → NO_COVERAGE

1890

1.1
Location : encodeName
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : encodeName
Killed by : none
changed conditional boundary → NO_COVERAGE

3.3
Location : encodeName
Killed by : none
negated conditional → NO_COVERAGE

4.4
Location : encodeName
Killed by : none
negated conditional → NO_COVERAGE

1894

1.1
Location : encodeName
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : encodeName
Killed by : none
negated conditional → NO_COVERAGE

1901

1.1
Location : encodeName
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/PdfName::encodeName to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

1914

1.1
Location : decodeName
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : decodeName
Killed by : none
Changed increment from 1 to -1 → NO_COVERAGE

3.3
Location : decodeName
Killed by : none
negated conditional → NO_COVERAGE

1916

1.1
Location : decodeName
Killed by : none
negated conditional → NO_COVERAGE

1917

1.1
Location : decodeName
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

1918

1.1
Location : decodeName
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

1919

1.1
Location : decodeName
Killed by : none
Replaced Shift Left with Shift Right → NO_COVERAGE

2.2
Location : decodeName
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

1920

1.1
Location : decodeName
Killed by : none
Changed increment from 2 to -2 → NO_COVERAGE

1928

1.1
Location : decodeName
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/PdfName::decodeName to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.4.2