com.noodlewiz.xjavab.ext.res.internal.Unpacker.java Source code

Java tutorial

Introduction

Here is the source code for com.noodlewiz.xjavab.ext.res.internal.Unpacker.java

Source

//
// DO NOT MODIFY!!! This file was machine generated. DO NOT MODIFY!!!
// 
// Copyright (c) 2014 Vincent W. Chen.
// 
// This file is part of XJavaB.
// 
// XJavaB is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// 
// XJavaB is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Lesser General Public License for more details.
// 
// You should have received a copy of the GNU Lesser General Public License
// along with XJavaB.  If not, see <http://www.gnu.org/licenses/>.
//

package com.noodlewiz.xjavab.ext.res.internal;

import java.nio.ByteBuffer;
import java.util.List;
import com.noodlewiz.xjavab.ext.res.Client;
import com.noodlewiz.xjavab.ext.res.ClientIdValue;
import com.noodlewiz.xjavab.ext.res.ResourceSizeValue;
import com.noodlewiz.xjavab.ext.res.Type;

public class Unpacker {

    public static Client unpackClient(final ByteBuffer __xjb_buf) {
        final long resourceBase = com.noodlewiz.xjavab.core.internal.Unpacker.unpackUInt(__xjb_buf);
        final long resourceMask = com.noodlewiz.xjavab.core.internal.Unpacker.unpackUInt(__xjb_buf);
        return new Client(resourceBase, resourceMask);
    }

    public static Type unpackType(final ByteBuffer __xjb_buf) {
        final long resourceType = com.noodlewiz.xjavab.core.internal.Unpacker.unpackUInt(__xjb_buf);
        final long count = com.noodlewiz.xjavab.core.internal.Unpacker.unpackUInt(__xjb_buf);
        return new Type(resourceType, count);
    }

    public static com.noodlewiz.xjavab.ext.res.ClientIdSpec unpackClientIdSpec(final ByteBuffer __xjb_buf) {
        final long client = com.noodlewiz.xjavab.core.internal.Unpacker.unpackUInt(__xjb_buf);
        final long mask = com.noodlewiz.xjavab.core.internal.Unpacker.unpackUInt(__xjb_buf);
        return new com.noodlewiz.xjavab.ext.res.ClientIdSpec(client, mask);
    }

    public static ClientIdValue unpackClientIdValue(final ByteBuffer __xjb_buf) {
        final com.noodlewiz.xjavab.ext.res.ClientIdSpec spec = com.noodlewiz.xjavab.ext.res.internal.Unpacker
                .unpackClientIdSpec(__xjb_buf);
        final long length = com.noodlewiz.xjavab.core.internal.Unpacker.unpackUInt(__xjb_buf);
        final com.google.common.collect.ImmutableList.Builder<Long> __xjb_valueBuilder = new com.google.common.collect.ImmutableList.Builder<Long>();
        for (int __xjb_i = 0; (__xjb_i < length); __xjb_i++) {
            __xjb_valueBuilder.add(com.noodlewiz.xjavab.core.internal.Unpacker.unpackUInt(__xjb_buf));
        }
        final List<Long> value = __xjb_valueBuilder.build();
        return new ClientIdValue(spec, length, value);
    }

    public static com.noodlewiz.xjavab.ext.res.ResourceIdSpec unpackResourceIdSpec(final ByteBuffer __xjb_buf) {
        final long resource = com.noodlewiz.xjavab.core.internal.Unpacker.unpackUInt(__xjb_buf);
        final long type = com.noodlewiz.xjavab.core.internal.Unpacker.unpackUInt(__xjb_buf);
        return new com.noodlewiz.xjavab.ext.res.ResourceIdSpec(resource, type);
    }

    public static com.noodlewiz.xjavab.ext.res.ResourceSizeSpec unpackResourceSizeSpec(final ByteBuffer __xjb_buf) {
        final com.noodlewiz.xjavab.ext.res.ResourceIdSpec spec = com.noodlewiz.xjavab.ext.res.internal.Unpacker
                .unpackResourceIdSpec(__xjb_buf);
        final long bytes = com.noodlewiz.xjavab.core.internal.Unpacker.unpackUInt(__xjb_buf);
        final long refCount = com.noodlewiz.xjavab.core.internal.Unpacker.unpackUInt(__xjb_buf);
        final long useCount = com.noodlewiz.xjavab.core.internal.Unpacker.unpackUInt(__xjb_buf);
        return new com.noodlewiz.xjavab.ext.res.ResourceSizeSpec(spec, bytes, refCount, useCount);
    }

    public static ResourceSizeValue unpackResourceSizeValue(final ByteBuffer __xjb_buf) {
        final com.noodlewiz.xjavab.ext.res.ResourceSizeSpec size = com.noodlewiz.xjavab.ext.res.internal.Unpacker
                .unpackResourceSizeSpec(__xjb_buf);
        final long numCrossReferences = com.noodlewiz.xjavab.core.internal.Unpacker.unpackUInt(__xjb_buf);
        final com.google.common.collect.ImmutableList.Builder<com.noodlewiz.xjavab.ext.res.ResourceSizeSpec> __xjb_crossReferencesBuilder = new com.google.common.collect.ImmutableList.Builder<com.noodlewiz.xjavab.ext.res.ResourceSizeSpec>();
        for (int __xjb_i = 0; (__xjb_i < numCrossReferences); __xjb_i++) {
            __xjb_crossReferencesBuilder
                    .add(com.noodlewiz.xjavab.ext.res.internal.Unpacker.unpackResourceSizeSpec(__xjb_buf));
        }
        final List<com.noodlewiz.xjavab.ext.res.ResourceSizeSpec> crossReferences = __xjb_crossReferencesBuilder
                .build();
        return new ResourceSizeValue(size, numCrossReferences, crossReferences);
    }

}