view test/java/nio/Buffer/Order-X.java.template @ 12418:950f14c10fc9

8065570: (bf spec) ByteBuffer.slice() should make it clear that the initial order is BIG_ENDIAN Summary: Refine documentation of allocate*(), wrap(), slice(), duplicate(), asReadOnlyBuffer(), and as{Type}Buffer() to explcitly state the byte order of the created buffer. Reviewed-by: alanb
author bpb
date Wed, 15 Jul 2015 10:43:07 -0700
parents
children db250cfb765a
line wrap: on
line source
/*
 * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.
 *
 * This code 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 General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

/* Type-specific source code for unit test
 *
 * Regenerate the OrderX classes via genOrder.sh whenever this file changes.
 * We check in the generated source files so that the test tree can be used
 * independently of the rest of the source tree.
 */

#warn This file is preprocessed before being compiled

import java.nio.*;

public class Order$Type$ extends Order {
    private static void ck$Type$Buffer($Type$Buffer buf, ByteOrder expected) {
        ck(buf.asReadOnlyBuffer().order(), expected);
        ck(buf.duplicate().order(), expected);
        ck(buf.slice().order(), expected);
    }

    static void ck$Type$Buffer() {
        $type$[] array = new $type$[LENGTH];
        $Type$Buffer buf = $Type$Buffer.wrap(array);
        ck(buf.order(), nord);
        ck$Type$Buffer(buf, nord);

        buf = $Type$Buffer.wrap(array, LENGTH/2, LENGTH/2);
        ck(buf.order(), nord);
        ck$Type$Buffer(buf, nord);

        buf = $Type$Buffer.allocate(LENGTH);
        ck(buf.order(), nord);
        ck$Type$Buffer(buf, nord);

        ck$Type$Buffer(ByteBuffer.allocate(LENGTH).as$Type$Buffer(), be);
        ck$Type$Buffer(ByteBuffer.allocateDirect(LENGTH).as$Type$Buffer(), be);
    }
}