public Box getElement(String name) { for (int i = boxes.size() - 1; i >= 0; i--) { Box box = (Box)boxes.get(i); if (name.equals(Box.getName(box.getType()))) return box; } return null; }
private void replace(String name, Box box) { for (int i = boxes.size() - 1; i >= 0; i--) { Box box1 = (Box)boxes.get(i); if (name.equals(Box.getName(box1.getType()))) { boxes.set(i, box); return; } } boxes.add(box); }
public void addNode(Box node) { if (boxes == null) boxes = new ArrayList(); replace(Box.getName(node.getType()), node); }
for(int i = 0; i < numBoxes && found < 3; i++) { Box box = (Box)boxes.get(i); if(Box.getName(box.getType()).equals("JPEG2000SignatureBox")) { signatureBox = box; signatureIndex = i; found++; } else if(Box.getName(box.getType()).equals("JPEG2000FileTypeBox")) { fileTypeBox = box; fileTypeIndex = i; found++; } else if(Box.getName(box.getType()).equals("JPEG2000HeaderBox")) { headerBox = box; headerIndex = i;
/** Creates an <code>IIOMetadataNode</code> from this * box. The format of this node is defined in the XML dtd and xsd * for the JP2 image file. * * This method is designed for the types of boxes whose XML tree * only has 2 levels. */ protected IIOMetadataNode getNativeNodeForSimpleBox() { try { Method m = this.getClass().getMethod("getElementNames", (Class[])null); String[] elementNames = (String[])m.invoke(null, (Object[])null); IIOMetadataNode node = new IIOMetadataNode(Box.getName(getType())); setDefaultAttributes(node); for (int i = 0; i < elementNames.length; i++) { IIOMetadataNode child = new IIOMetadataNode(elementNames[i]); m = this.getClass().getMethod("get" + elementNames[i], (Class[])null); Object obj = m.invoke(this, (Object[])null); child.setUserObject(obj); child.setNodeValue(ImageUtil.convertObjectToString(obj)); node.appendChild(child); } return node; } catch (Exception e) { throw new IllegalArgumentException(I18N.getString("Box0")); } }
/** Creates an <code>IIOMetadataNode</code> from this * box. The format of this node is defined in the XML dtd and xsd * for the JP2 image file. */ public IIOMetadataNode getNativeNode() { String name = Box.getName(getType()); if (name == null) name = "unknown"; IIOMetadataNode node = new IIOMetadataNode(name); setDefaultAttributes(node); IIOMetadataNode child = new IIOMetadataNode("Content"); child.setUserObject(data); child.setNodeValue(ImageUtil.convertObjectToString(data)); node.appendChild(child); return node; }