Example usage for org.apache.commons.compress.archivers.cpio CpioArchiveEntry setGID

List of usage examples for org.apache.commons.compress.archivers.cpio CpioArchiveEntry setGID

Introduction

In this page you can find the example usage for org.apache.commons.compress.archivers.cpio CpioArchiveEntry setGID.

Prototype

public void setGID(final long gid) 

Source Link

Document

Set the group id.

Usage

From source file:org.apache.ant.compress.taskdefs.Cpio.java

public Cpio() {
    setFactory(new CpioStreamFactory() {
        public ArchiveOutputStream getArchiveStream(OutputStream stream, String encoding) throws IOException {
            return new CpioArchiveOutputStream(stream, format.getFormat(), blockSize, encoding);
        }//from   w w  w .  ja v  a 2s  .  co m
    });
    setEntryBuilder(new ArchiveBase.EntryBuilder() {
        public ArchiveEntry buildEntry(ArchiveBase.ResourceWithFlags r) {
            boolean isDir = r.getResource().isDirectory();
            CpioArchiveEntry ent = new CpioArchiveEntry(format.getFormat(), r.getName(),
                    isDir ? 0 : r.getResource().getSize());
            ent.setTime(round(r.getResource().getLastModified(), 1000) / 1000);

            int mode = isDir ? ArchiveFileSet.DEFAULT_DIR_MODE : ArchiveFileSet.DEFAULT_FILE_MODE;
            if (!isDir && r.getCollectionFlags().hasModeBeenSet()) {
                ent.setMode(r.getCollectionFlags().getMode());
            } else if (isDir && r.getCollectionFlags().hasDirModeBeenSet()) {
                ent.setMode(r.getCollectionFlags().getDirMode());
            } else if (r.getResourceFlags().hasModeBeenSet()) {
                ent.setMode(r.getResourceFlags().getMode());
            } else {
                ent.setMode(mode);
            }

            if (r.getResourceFlags().hasUserIdBeenSet()) {
                ent.setUID(r.getResourceFlags().getUserId());
            } else if (r.getCollectionFlags().hasUserIdBeenSet()) {
                ent.setUID(r.getCollectionFlags().getUserId());
            }

            if (r.getResourceFlags().hasGroupIdBeenSet()) {
                ent.setGID(r.getResourceFlags().getGroupId());
            } else if (r.getCollectionFlags().hasGroupIdBeenSet()) {
                ent.setGID(r.getCollectionFlags().getGroupId());
            }

            return ent;
        }
    });
    setFileSetBuilder(new ArchiveBase.FileSetBuilder() {
        public ArchiveFileSet buildFileSet(Resource dest) {
            ArchiveFileSet afs = new CpioFileSet();
            afs.setSrcResource(dest);
            return afs;
        }
    });
}