Package jj2000.j2k

Class ModuleSpec

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected Object[] compDef
      The default value for each component.
      protected Object def
      Default value for each tile-component
      protected int nComp
      The number of components
      protected int nTiles
      The number of tiles
      static byte SPEC_COMP_DEF
      The identifier for "component default" specification
      static byte SPEC_DEF
      The identifier for default specification
      static byte SPEC_TILE_COMP
      The identifier for a "tile-component" specification
      static byte SPEC_TILE_DEF
      The identifier for "tile default" specification
      static byte SPEC_TYPE_COMP
      The identifier for a specification module that applies only to components
      static byte SPEC_TYPE_TILE
      The identifier for a specification module that applies only to tiles
      static byte SPEC_TYPE_TILE_COMP
      The identifier for a specification module that applies both to tiles and components
      protected String specified
      The specified value in string format
      protected int specType
      The type of the specification module
      protected byte[][] specValType
      The spec type for each tile-component.
      protected Hashtable tileCompVal
      The specific value for each tile-component.
      protected Object[] tileDef
      The default value for each tile.
    • Constructor Summary

      Constructors 
      Constructor Description
      ModuleSpec​(int nt, int nc, byte type)
      Constructs a 'ModuleSpec' object, initializing all the components and tiles to the 'SPEC_DEF' spec val type, for the specified number of components and tiles.
    • Field Detail

      • SPEC_TYPE_COMP

        public static final byte SPEC_TYPE_COMP
        The identifier for a specification module that applies only to components
        See Also:
        Constant Field Values
      • SPEC_TYPE_TILE

        public static final byte SPEC_TYPE_TILE
        The identifier for a specification module that applies only to tiles
        See Also:
        Constant Field Values
      • SPEC_TYPE_TILE_COMP

        public static final byte SPEC_TYPE_TILE_COMP
        The identifier for a specification module that applies both to tiles and components
        See Also:
        Constant Field Values
      • SPEC_DEF

        public static final byte SPEC_DEF
        The identifier for default specification
        See Also:
        Constant Field Values
      • SPEC_COMP_DEF

        public static final byte SPEC_COMP_DEF
        The identifier for "component default" specification
        See Also:
        Constant Field Values
      • SPEC_TILE_DEF

        public static final byte SPEC_TILE_DEF
        The identifier for "tile default" specification
        See Also:
        Constant Field Values
      • SPEC_TILE_COMP

        public static final byte SPEC_TILE_COMP
        The identifier for a "tile-component" specification
        See Also:
        Constant Field Values
      • specType

        protected int specType
        The type of the specification module
      • nTiles

        protected int nTiles
        The number of tiles
      • nComp

        protected int nComp
        The number of components
      • specValType

        protected byte[][] specValType
        The spec type for each tile-component. The first index is the tile index, the second is the component index.
      • def

        protected Object def
        Default value for each tile-component
      • compDef

        protected Object[] compDef
        The default value for each component. Null if no component specific value is defined
      • tileDef

        protected Object[] tileDef
        The default value for each tile. Null if no tile specific value is defined
      • tileCompVal

        protected Hashtable tileCompVal
        The specific value for each tile-component. Value of tile 16 component 3 is accessible through the hash value "t16c3". Null if no tile-component specific value is defined
      • specified

        protected String specified
        The specified value in string format
    • Constructor Detail

      • ModuleSpec

        public ModuleSpec​(int nt,
                          int nc,
                          byte type)
        Constructs a 'ModuleSpec' object, initializing all the components and tiles to the 'SPEC_DEF' spec val type, for the specified number of components and tiles.
        Parameters:
        nt - The number of tiles
        nc - The number of components
        type - the type of the specification module i.e. tile specific, component specific or both.
    • Method Detail

      • rotate90

        public void rotate90​(Point anT)
        Rotate the ModuleSpec instance by 90 degrees (this modifies only tile and tile-component specifications).
        Parameters:
        anT - Number of tiles along horizontal and vertical axis after rotation.
      • setDefault

        public void setDefault​(Object value)
        Sets default value for this module
      • getDefault

        public Object getDefault()
        Gets default value for this module.
        Returns:
        The default value (Must be casted before use)
      • setCompDef

        public void setCompDef​(int c,
                               Object value)
        Sets default value for specified component and specValType tag if allowed by its priority.
        Parameters:
        c - Component index
      • getCompDef

        public Object getCompDef​(int c)
        Gets default value of the specified component. If no specification have been entered for this component, returns default value.
        Parameters:
        c - Component index
        Returns:
        The default value for this component (Must be casted before use)
        See Also:
        setCompDef(int, java.lang.Object)
      • setTileDef

        public void setTileDef​(int t,
                               Object value)
        Sets default value for specified tile and specValType tag if allowed by its priority.
        Parameters:
        t - Tile index.
      • getTileDef

        public Object getTileDef​(int t)
        Gets default value of the specified tile. If no specification has been entered, it returns the default value.
        Parameters:
        t - Tile index
        Returns:
        The default value for this tile (Must be casted before use)
        See Also:
        setTileDef(int, java.lang.Object)
      • setTileCompVal

        public void setTileCompVal​(int t,
                                   int c,
                                   Object value)
        Sets value for specified tile-component.
        Parameters:
        t - Tie index
        c - Component index
      • getTileCompVal

        public Object getTileCompVal​(int t,
                                     int c)
        Gets value of specified tile-component. This method calls getSpec but has a public access.
        Parameters:
        t - Tile index
        c - Component index
        Returns:
        The value of this tile-component (Must be casted before use)
        See Also:
        setTileCompVal(int, int, java.lang.Object), getSpec(int, int)
      • getSpec

        protected Object getSpec​(int t,
                                 int c)
        Gets value of specified tile-component without knowing if a specific tile-component value has been previously entered. It first check if a tile-component specific value has been entered, then if a tile specific value exist, then if a component specific value exist. If not the default value is returned.
        Parameters:
        t - Tile index
        c - Component index
        Returns:
        Value for this tile component.
      • getSpecValType

        public byte getSpecValType​(int t,
                                   int c)
        Return the spec type of the given tile-component.
        Parameters:
        t - Tile index
        c - Component index
      • isCompSpecified

        public boolean isCompSpecified​(int c)
        Whether or not specifications have been entered for the given component.
        Parameters:
        c - Index of the component
        Returns:
        True if component specification has been defined
      • isTileSpecified

        public boolean isTileSpecified​(int t)
        Whether or not specifications have been entered for the given tile.
        Parameters:
        t - Index of the tile
        Returns:
        True if tile specification has been entered
      • isTileCompSpecified

        public boolean isTileCompSpecified​(int t,
                                           int c)
        Whether or not a tile-component specification has been defined
        Parameters:
        t - Tile index
        c - Component index
        Returns:
        True if a tile-component specification has been defined.
      • parseIdx

        public static final boolean[] parseIdx​(String word,
                                               int maxIdx)
        This method is responsible of parsing tile indexes set and component indexes set for an option. Such an argument must follow the following policy:
        t\ or c\ where tile or component indexes are separated by commas or a dashes.

        Example:

      • t0,3,4 means tiles with indexes 0, 3 and 4.
      • t2-4 means tiles with indexes 2,3 and 4.
        It returns a boolean array skteching which tile or component are concerned by the next parameters.
Parameters:
word - The word to parse.
maxIdx - Maximum authorized index
Returns:
Indexes concerned by this parameter.