List of usage examples for org.apache.pdfbox.cos COSDictionary size
public int size()
From source file:org.lockss.pdf.MockPdfTokenStream.java
License:Open Source License
/** * <p>//from ww w . ja v a 2 s .c o m * Converts one PDFBox token into a {@link PdfToken} instance, more * specifically a {@link MockPdfToken} instance. * </p> * * @param pdfBoxToken A token from PDFBox. * @return A {@link PdfToken} ({@link MockPdfToken}) instance. * @throws IOException if the PDFBox token type is unexpected. * @since 1.67 */ public static PdfToken convert(Object pdfBoxToken) throws IOException { PdfTokenFactory tf = new MockPdfTokenFactory(); if (pdfBoxToken instanceof COSArray) { COSArray cosArray = (COSArray) pdfBoxToken; List<PdfToken> lst = new ArrayList<PdfToken>(cosArray.size()); for (Object obj : cosArray) { lst.add(convert(obj)); } return tf.makeArray(lst); } else if (pdfBoxToken instanceof COSBoolean) { return tf.makeBoolean(((COSBoolean) pdfBoxToken).getValue()); } else if (pdfBoxToken instanceof COSDictionary) { COSDictionary cosDictionary = (COSDictionary) pdfBoxToken; Map<String, PdfToken> map = new LinkedHashMap<String, PdfToken>(cosDictionary.size()); for (Map.Entry<COSName, COSBase> ent : cosDictionary.entrySet()) { map.put(ent.getKey().getName(), convert(ent.getValue())); } return tf.makeDictionary(map); } else if (pdfBoxToken instanceof COSFloat) { return tf.makeFloat(((COSFloat) pdfBoxToken).floatValue()); } else if (pdfBoxToken instanceof COSInteger) { return tf.makeFloat(((COSInteger) pdfBoxToken).intValue()); } else if (pdfBoxToken instanceof COSName) { return tf.makeName(((COSName) pdfBoxToken).getName()); } else if (pdfBoxToken instanceof COSNull) { return tf.makeNull(); } else if (pdfBoxToken instanceof COSString) { return tf.makeString(((COSString) pdfBoxToken).getString()); } else if (pdfBoxToken instanceof PDFOperator) { return tf.makeOperator(((PDFOperator) pdfBoxToken).getOperation()); } else { throw new IOException(String.format("Unexpected type: %s \"%s\"", pdfBoxToken.getClass().getName(), pdfBoxToken.toString())); } }