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

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

public class ColorSpecificationBox
extends BaseJP2KBox

This class is defined to represent a Color Specification Box of JPEG JP2 file format. A Color Specification Box has a length, and a fixed type of "colr". Its content contains the method to define the color space, the precedence and approximation accuracy (0 for JP2 files), the enumerated color space, and the ICC color profile if any.

Author:
Simone Giannecchini, GeoSolutions, Daniele Romagnoli, GeoSolutions
See Also:
Serialized Form

Field Summary
static int BOX_TYPE
           
static int ECS_GRAY
           
static int ECS_sRGB
          The enumerated color space defined in JP2 file format.
static int ECS_YCC
           
static String JP2K_MD_NAME
           
static String NAME
           
 
Fields inherited from class DefaultMutableTreeNode
allowsChildren, children, EMPTY_ENUMERATION, parent, userObject
 
Constructor Summary
ColorSpecificationBox(byte[] data)
          Creates a ColorSpecificationBox from the provided byte array.
ColorSpecificationBox(byte m, byte p, byte a, int ecs, ICC_Profile profile)
          Creates a ColorSpecificationBox from the provided data elements.
ColorSpecificationBox(Node node)
          Constructs a ColorSpecificationBox based on the provided org.w3c.dom.Node.
 
Method Summary
protected  byte[] compose()
          Composes the content byte array from the data elements.
 byte getApproximationAccuracy()
          Returns ApproximationAccuracy.
static String[] getElementNames()
          This method will be called by the getNativeNodeForSimpleBox of the class Box to get the element names.
 int getEnumeratedColorSpace()
          Returns the enumerated color space.
 ICC_Profile getICCProfile()
          Returns the ICC color profile in this color specification box.
 byte getMethod()
          Returns the method to define the color space.
 IIOMetadataNode getNativeNode()
          Creates an IIOMetadataNode from this color specification box.
 byte getPrecedence()
          Returns Precedence.
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

ECS_sRGB

public static final int ECS_sRGB
The enumerated color space defined in JP2 file format.

See Also:
Constant Field Values

ECS_GRAY

public static final int ECS_GRAY
See Also:
Constant Field Values

ECS_YCC

public static final int ECS_YCC
See Also:
Constant Field Values
Constructor Detail

ColorSpecificationBox

public ColorSpecificationBox(byte m,
                             byte p,
                             byte a,
                             int ecs,
                             ICC_Profile profile)
Creates a ColorSpecificationBox from the provided data elements.


ColorSpecificationBox

public ColorSpecificationBox(byte[] data)
Creates a ColorSpecificationBox from the provided byte array.


ColorSpecificationBox

public ColorSpecificationBox(Node node)
                      throws IIOInvalidTreeException
Constructs a ColorSpecificationBox based on the provided org.w3c.dom.Node.

Throws:
IIOInvalidTreeException
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"

getMethod

public byte getMethod()
Returns the method to define the color space.

UML property:
name="method"

getPrecedence

public byte getPrecedence()
Returns Precedence.

UML property:
name="precedence"

getApproximationAccuracy

public byte getApproximationAccuracy()
Returns ApproximationAccuracy.


getEnumeratedColorSpace

public int getEnumeratedColorSpace()
Returns the enumerated color space.


getICCProfile

public ICC_Profile getICCProfile()
Returns the ICC color profile in this color specification box.


getNativeNode

public IIOMetadataNode getNativeNode()
Creates an IIOMetadataNode from this color specification 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.