public void addAttributeToBand()

in src/main/java/org/apache/commons/compress/harmony/pack200/NewAttributeBands.java [173:213]


        public void addAttributeToBand(final NewAttribute attribute, final InputStream inputStream) {
            Object val = null;
            int value = 0;
            if (tag.equals("B") || tag.equals("FB")) {
                value = readInteger(1, inputStream) & 0xFF; // unsigned byte
            } else if (tag.equals("SB")) {
                value = readInteger(1, inputStream);
            } else if (tag.equals("H") || tag.equals("FH")) {
                value = readInteger(2, inputStream) & 0xFFFF; // unsigned short
            } else if (tag.equals("SH")) {
                value = readInteger(2, inputStream);
            } else if ((tag.equals("I") || tag.equals("FI")) || tag.equals("SI")) {
                value = readInteger(4, inputStream);
            } else if (tag.equals("V") || tag.equals("FV") || tag.equals("SV")) {
                // Not currently supported
            } else if (tag.startsWith("PO") || tag.startsWith("OS")) {
                final char uint_type = tag.substring(2).toCharArray()[0];
                final int length = getLength(uint_type);
                value = readInteger(length, inputStream);
                value += previousIntegral.previousPValue;
                val = attribute.getLabel(value);
                previousPValue = value;
            } else if (tag.startsWith("P")) {
                final char uint_type = tag.substring(1).toCharArray()[0];
                final int length = getLength(uint_type);
                value = readInteger(length, inputStream);
                val = attribute.getLabel(value);
                previousPValue = value;
            } else if (tag.startsWith("O")) {
                final char uint_type = tag.substring(1).toCharArray()[0];
                final int length = getLength(uint_type);
                value = readInteger(length, inputStream);
                value += previousIntegral.previousPValue;
                val = attribute.getLabel(value);
                previousPValue = value;
            }
            if (val == null) {
                val = Integer.valueOf(value);
            }
            band.add(val);
        }