Package com.github.stephenc.javaisotools.sabre.impl

Examples of com.github.stephenc.javaisotools.sabre.impl.ByteArrayDataReference


        }

        descriptorTag.DescriptorCRCLength = payload.length;
        descriptorTag.DescriptorCRC = Checksum.cksum(payload);

        super.data(new ByteArrayDataReference(descriptorTag.getBytes()));
        super.data(new ByteArrayDataReference(payload));
    }
View Full Code Here


    protected void createAndPassVRS()
            throws HandlerException {
        VolumeRecognitionSequence myVolumeRecognitionSequene =
                new VolumeRecognitionSequence(VolumeRecognitionSequence.NSRVersion.NSR03);
        super.data(new ByteArrayDataReference(myVolumeRecognitionSequene.getBytes()));
    }
View Full Code Here

        super.startElement(new SabreUDFElement(SabreUDFElement.UDFElementType.DescriptorTag));
        super.data(new WordDataReference(5));                        // tag identifier
        super.data(new WordDataReference(tagLocation));                // tag location
        super.data(new WordDataReference(tagSerialNumber));            // tag serial number
        super.data(new WordDataReference(descriptorVersion));        // descriptor version
        super.data(new ByteArrayDataReference(myPartitionDescriptor.getBytesWithoutDescriptorTag()));
        super.endElement();
    }
View Full Code Here

        super.startElement(new SabreUDFElement(SabreUDFElement.UDFElementType.DescriptorTag));
        super.data(new WordDataReference(266));                                                    // tag identifier
        super.data(new WordDataReference(myExtendedFileEntry.DescriptorTag.TagLocation));        // tag location
        super.data(new WordDataReference(tagSerialNumber));                                        // tag serial number
        super.data(new WordDataReference(descriptorVersion));                                    // descriptor version
        super.data(new ByteArrayDataReference(myExtendedFileEntry.getBytesWithoutDescriptorTag()));
        super.endElement();
    }
View Full Code Here

            super.data(new WordDataReference(myExtendedFileEntry.DescriptorTag.TagLocation));        // tag location
            super.data(
                    new WordDataReference(tagSerialNumber));                                        // tag serial number
            super.data(
                    new WordDataReference(descriptorVersion));                                    // descriptor version
            super.data(new ByteArrayDataReference(myExtendedFileEntry.getBytesWithoutDescriptorTag()));
            super.endElement();
        } else {
            // store as exernal file data with Short_ad
            myExtendedFileEntry.ICBTag.Flags = 0;        // storage type short_ad

            myExtendedFileEntry.LogicalBlocksRecorded = (long) (directoryFileDataLength / blockSize);
            if (directoryFileDataLength % blockSize != 0) {
                myExtendedFileEntry.LogicalBlocksRecorded++;
            }

            Short_ad allocationDescriptor = new Short_ad();

            allocationDescriptor.ExtentLength = directoryFileDataLength;
            allocationDescriptor.ExtentPosition = dataLocation;

            if (directoryFileDataLength % blockSize != 0) {
                directoryFileDataLength += blockSize - (directoryFileDataLength % blockSize);

            }
            byte[] data = new byte[directoryFileDataLength];

            long currentRealPosition = dataLocation * blockSize;
            int pos = 0;

            for (int i = 0; i < childFileIdentifierDescriptors.size(); ++i) {
                long tagLocationBlock = (long) (currentRealPosition / blockSize);

                FileIdentifierDescriptor childFileIdentifierDescriptor = childFileIdentifierDescriptors.get(i);

                childFileIdentifierDescriptor.DescriptorTag.TagLocation = tagLocationBlock;

                byte childFileIdentifierDescriptorBytes[] = childFileIdentifierDescriptors.get(i).getBytes();

                System.arraycopy(childFileIdentifierDescriptorBytes, 0, data, pos,
                        childFileIdentifierDescriptorBytes.length);
                pos += childFileIdentifierDescriptorBytes.length;

                currentRealPosition += childFileIdentifierDescriptorBytes.length;
            }

            myExtendedFileEntry.AllocationDescriptors = allocationDescriptor.getBytes();
            myExtendedFileEntry.LengthofAllocationDescriptors = myExtendedFileEntry.AllocationDescriptors.length;

            /*
               // full element with descriptor tag
               super.data( new ByteArrayDataReference( myExtendedFileEntry.getBytes( blockSize ) ) );
               */

            // without descriptor tag (handled in next pipeline section)
            super.startElement(new SabreUDFElement(SabreUDFElement.UDFElementType.DescriptorTag));
            super.data(new WordDataReference(266));                                                    // tag identifier
            super.data(new WordDataReference(myExtendedFileEntry.DescriptorTag.TagLocation));        // tag location
            super.data(
                    new WordDataReference(tagSerialNumber));                                        // tag serial number
            super.data(
                    new WordDataReference(descriptorVersion));                                    // descriptor version
            super.data(new ByteArrayDataReference(myExtendedFileEntry.getBytesWithoutDescriptorTag()));
            super.endElement();

            super.data(new ByteArrayDataReference(data));
        }
    }
View Full Code Here

    public void endElement()
            throws HandlerException {
        if (currentPosition % blockSize != 0) {
            int paddingLength = blockSize - (int) (currentPosition % blockSize);
            super.data(new ByteArrayDataReference(new byte[paddingLength]));

            currentPosition += paddingLength;
        }

        super.endElement();
View Full Code Here

        super.startElement(new SabreUDFElement(SabreUDFElement.UDFElementType.DescriptorTag));
        super.data(new WordDataReference(266));                            // tag identifier
        super.data(new WordDataReference(metadataFileLocation));        // tag location
        super.data(new WordDataReference(tagSerialNumber));                // tag serial number
        super.data(new WordDataReference(descriptorVersion));            // descriptor version
        super.data(new ByteArrayDataReference(metadataExtendedFileEntry.getBytesWithoutDescriptorTag()));
        super.endElement();
    }
View Full Code Here

        // Reserved (2 bytes)
        streamHandler.data(new EmptyByteArrayDataReference(2));

        // ID string (24 bytes)
        byte[] idStringData = pad(idString, 24);
        streamHandler.data(new ByteArrayDataReference(idStringData));
        sum += stringWordSum(idStringData);

        // Checksum word
        sum += 0xAA55; // Key bytes
        int checksum = 0x10000 - sum;
View Full Code Here

        // Number of section entries following this header
        streamHandler.data(new LSBFShortDataReference(sectionEntriesCount));

        // ID string identifying the section
        byte[] idStringData = pad(idString, 28);
        streamHandler.data(new ByteArrayDataReference(idStringData));
    }
View Full Code Here

     * Returns UCS-2 level Escape Sequences
     *
     * @return Escape Sequences matching the active UCS-2 level
     */
    public ByteArrayDataReference getUCS2LevelEscapeSequence() {
        return new ByteArrayDataReference(UCS2_LEVEL_ESCAPE_SEQUENCES[ucs2_level - 1]);
    }
View Full Code Here

TOP

Related Classes of com.github.stephenc.javaisotools.sabre.impl.ByteArrayDataReference

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.