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

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


        super.startElement(new SabreUDFElement(SabreUDFElement.UDFElementType.DescriptorTag));
        super.data(new WordDataReference(8));                    // 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(myTerminatingDescriptor.getBytesWithoutDescriptorTag()));
        super.endElement();
    }
View Full Code Here


    }

    private ByteArrayDataReference getSystemId()
            throws HandlerException {
        byte[] bytes = helper.pad(systemId, 32);
        return new ByteArrayDataReference(bytes);
    }
View Full Code Here

        super.startElement(new SabreUDFElement(SabreUDFElement.UDFElementType.DescriptorTag));
        super.data(new WordDataReference(9));                    // 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(myLogicalVolumeIntegrityDescriptor.getBytesWithoutDescriptorTag()));
        super.endElement();
    }
View Full Code Here

    }

    private ByteArrayDataReference getVolumeId()
            throws HandlerException {
        byte[] bytes = helper.pad(volumeId, 32);
        return new ByteArrayDataReference(bytes);
    }
View Full Code Here

        super.startElement(new SabreUDFElement(SabreUDFElement.UDFElementType.DescriptorTag));
        super.data(new WordDataReference(256));                    // 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(myFilesetDescriptor.getBytesWithoutDescriptorTag()));
        super.endElement();
    }
View Full Code Here

        return new ByteDataReference(ISO9660Constants.FSV);
    }

    private DataReference getVolumeSetId() throws HandlerException {
        byte[] bytes = helper.pad(volSetId, 128);
        return new ByteArrayDataReference(bytes);
    }
View Full Code Here

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

            throw new HandlerException(
                    "String or ISO9660File expected in getIdOrFile, got "
                            + object.getClass());
        }

        return new ByteArrayDataReference(bytes);
    }
View Full Code Here

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

            myFileEntry.LogicalBlocksRecorded = (long) (directoryFileDataLength / blockSize);
            if (directoryFileDataLength % blockSize != 0) {
                myFileEntry.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;
            }

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

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

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

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

            file.enforce8plus3(true);
            id = helper.getFilenameDataReference(file).getName();
            bytes = helper.pad(id, 37);
        }

        return new ByteArrayDataReference(bytes);
    }
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.