public Long getInteger() { return get(); }
public Double getReal() { return (double) get(); }
public void visitFromInteger(COSInteger obj) { this.copy.assign(COSInteger.construct(obj.get())); }
/** * This method calculates object ID for all objects, described in this xref * stream using Index array. */ private void initializeObjIDs() { objIDs = new ArrayList<>(); for (int i = 0; i < index.size() / 2; ++i) { COSInteger firstID = (COSInteger) index.at(2 * i).getDirectBase(); COSInteger lengthOfSubsection = (COSInteger) index.at(2 * i + 1).getDirectBase(); for (int j = 0; j < lengthOfSubsection.get(); ++j) { objIDs.add(firstID.get() + j); } } }
private void calculateInternalOffsets() throws IOException { int n = (int) ((COSInteger) this.objectStream.getKey(ASAtom.N).getDirectBase()).get(); long first = ((COSInteger) this.objectStream.getKey(ASAtom.FIRST).getDirectBase()).get(); for (int i = 0; i < n; ++i) { Long objNum, objOffset; skipSpaces(false); readNumber(); objNum = getToken().integer; skipSpaces(false); readNumber(); objOffset = getToken().integer; internalOffsets.put(objNum.intValue(), objOffset + first); } }
/** * This method puts all necessary information into trailer of this xref * section. */ private void setTrailer() { COSTrailer trailer = section.getTrailer(); if (xrefCOSStream.getKey(ASAtom.SIZE).get() != null) { trailer.setSize(((COSInteger) xrefCOSStream.getKey(ASAtom.SIZE).get()).get()); } if (xrefCOSStream.getKey(ASAtom.PREV).get() != null) { trailer.setPrev(((COSInteger) xrefCOSStream.getKey(ASAtom.PREV).get()).get()); } if (xrefCOSStream.getKey(ASAtom.ROOT).get() != null) { trailer.setRoot(xrefCOSStream.getKey(ASAtom.ROOT)); } if (xrefCOSStream.getKey(ASAtom.ENCRYPT).get() != null) { trailer.setEncrypt(xrefCOSStream.getKey(ASAtom.ENCRYPT)); } if (xrefCOSStream.getKey(ASAtom.INFO).get() != null) { trailer.setInfo(xrefCOSStream.getKey(ASAtom.INFO)); } if (xrefCOSStream.getKey(ASAtom.ID).get() != null) { trailer.setID(xrefCOSStream.getKey(ASAtom.ID)); } }