it.geosolutions.imageio.plugins.jp2k.box
Class FileTypeBox

Object
  extended by DefaultMutableTreeNode
      extended by BaseJP2KBox
          extended by FileTypeBox
All Implemented Interfaces:
JP2KBox, JP2KBoxMetadata, Serializable, Cloneable, MutableTreeNode, TreeNode

public class FileTypeBox
extends BaseJP2KBox

This class is defined to represent a File Type Box of JPEG JP2 file format. A File Type Box has a length, and a fixed type of "ftyp". The content of a file type box contains the brand ("jp2 " for JP2 file", the minor version (0 for JP2 file format), and a compatibility list (one of which should be "jp2 " if brand is not "jp2 ".)

See Also:
Serialized Form

Nested Class Summary
static class FileTypeBox.JPEG2000FileType
          Define possible compatibilites for JPEG2000 files
 
Field Summary
static int BOX_TYPE
           
static String JP2K_MD_NAME
           
static String NAME
           
 
Fields inherited from class DefaultMutableTreeNode
allowsChildren, children, EMPTY_ENUMERATION, parent, userObject
 
Constructor Summary
FileTypeBox(byte[] data)
          Constructs a FileTypeBox from the provided byte array.
FileTypeBox(int br, int minorVersion, int[] comp)
          Constructs a FileTypeBox from the provided brand, minor version and compatibility list.
 
Method Summary
protected  byte[] compose()
          Composes the content byte array from the data elements.
 FileTypeBox.JPEG2000FileType getBrand()
          Returns the brand of this file type box.
 Set<FileTypeBox.JPEG2000FileType> getCompatibilitySet()
          Returns the compatibility list of this file type box.
static String[] getElementNames()
          This method will be called by the getNativeNodeForSimpleBox of the class Box to get the element names.
 int getMinorVersion()
          Returns the minor version of this file type box.
 IIOMetadataNode getNativeNode()
          Creates an IIOMetadataNode from this file type box.
 boolean isCompatibleWith(FileTypeBox.JPEG2000FileType c)
           
protected  void parse(byte[] data)
          Parses the data elements from the byte array.
 
Methods inherited from class BaseJP2KBox
clone, getContent, getExtraLength, getLength, getNativeNodeForSimpleBox, getType, setDefaultAttributes, setExtraLength, setLength, setType, toString
 
Methods inherited from class DefaultMutableTreeNode
add, breadthFirstEnumeration, children, depthFirstEnumeration, getAllowsChildren, getChildAfter, getChildAt, getChildBefore, getChildCount, getDepth, getFirstChild, getFirstLeaf, getIndex, getLastChild, getLastLeaf, getLeafCount, getLevel, getNextLeaf, getNextNode, getNextSibling, getParent, getPath, getPathToRoot, getPreviousLeaf, getPreviousNode, getPreviousSibling, getRoot, getSharedAncestor, getSiblingCount, getUserObject, getUserObjectPath, insert, isLeaf, isNodeAncestor, isNodeChild, isNodeDescendant, isNodeRelated, isNodeSibling, isRoot, pathFromAncestorEnumeration, postorderEnumeration, preorderEnumeration, remove, remove, removeAllChildren, removeFromParent, setAllowsChildren, setParent, setUserObject
 
Methods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface MutableTreeNode
insert, remove, remove, removeFromParent, setParent, setUserObject
 
Methods inherited from interface TreeNode
children, getAllowsChildren, getChildAt, getChildCount, getIndex, getParent, isLeaf
 

Field Detail

BOX_TYPE

public static final int BOX_TYPE
See Also:
Constant Field Values

NAME

public static final String NAME
See Also:
Constant Field Values

JP2K_MD_NAME

public static final String JP2K_MD_NAME
See Also:
Constant Field Values
Constructor Detail

FileTypeBox

public FileTypeBox(int br,
                   int minorVersion,
                   int[] comp)
Constructs a FileTypeBox from the provided brand, minor version and compatibility list.


FileTypeBox

public FileTypeBox(byte[] data)
Constructs a FileTypeBox from the provided byte array.

Method Detail

getElementNames

public static String[] getElementNames()
This method will be called by the getNativeNodeForSimpleBox of the class Box to get the element names.

UML property:
name="elementNames"

getBrand

public FileTypeBox.JPEG2000FileType getBrand()
Returns the brand of this file type box.

UML property:
name="brand"

getMinorVersion

public int getMinorVersion()
Returns the minor version of this file type box.

UML property:
name="minorVersion"

getCompatibilitySet

public Set<FileTypeBox.JPEG2000FileType> getCompatibilitySet()
Returns the compatibility list of this file type box.


isCompatibleWith

public boolean isCompatibleWith(FileTypeBox.JPEG2000FileType c)

getNativeNode

public IIOMetadataNode getNativeNode()
Creates an IIOMetadataNode from this file type box. The format of this node is defined in the XML dtd and xsd for the JP2 image file.

Specified by:
getNativeNode in interface JP2KBoxMetadata
Overrides:
getNativeNode in class BaseJP2KBox

parse

protected void parse(byte[] data)
Description copied from class: BaseJP2KBox
Parses the data elements from the byte array. The subclasses should override this method and implement the proper behvaior.

Specified by:
parse in class BaseJP2KBox

compose

protected byte[] compose()
Description copied from class: BaseJP2KBox
Composes the content byte array from the data elements.

Specified by:
compose in class BaseJP2KBox


Copyright © 2006-2010 GeoSolutions. All Rights Reserved.