1/*
2 * Copyright 2012 Sebastian Annies, Hamburg
3 *
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *     http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package com.coremedia.iso;
17
18import java.io.IOException;
19import java.nio.ByteBuffer;
20
21public final class IsoTypeWriterVariable {
22
23    public static void write(long v, ByteBuffer bb, int bytes) {
24        switch (bytes) {
25            case 1:
26                IsoTypeWriter.writeUInt8(bb, (int) (v & 0xff));
27                break;
28            case 2:
29                IsoTypeWriter.writeUInt16(bb, (int) (v & 0xffff));
30                break;
31            case 3:
32                IsoTypeWriter.writeUInt24(bb, (int) (v & 0xffffff));
33                break;
34            case 4:
35                IsoTypeWriter.writeUInt32(bb, v);
36                break;
37            case 8:
38                IsoTypeWriter.writeUInt64(bb, v);
39                break;
40            default:
41                throw new RuntimeException("I don't know how to read " + bytes + " bytes");
42        }
43
44    }
45}
46