# CSJ2K.j2k.ModuleSpec

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="CSJ2K_j2k_ModuleSpec" data-uid="CSJ2K.j2k.ModuleSpec" class="text-break">ModuleSpec Class
</h1>
  <div class="markdown level0 summary"><p>This generic class is used to handle values to be used by a module for each
tile and component.  It uses attribute to determine which value to use. It
should be extended by each module needing this feature.</p>
<pre><code>       This class might be used for values that are only tile specific or
       component specific but not both.

       &lt;p&gt;The attributes to use are defined by a hierarchy. The hierarchy is:

       &lt;ul&gt;&lt;li&gt; Tile and component specific attribute&lt;/li&gt;&lt;li&gt; Tile specific default attribute&lt;/li&gt;&lt;li&gt; Component main default attribute&lt;/li&gt;&lt;li&gt; Main default attribute&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;
</code></pre>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><span class="xref">ModuleSpec</span></div>
      <div class="level2"><a class="xref" href="CSJ2K.j2k.IntegerSpec.html">IntegerSpec</a></div>
      <div class="level2"><a class="xref" href="CSJ2K.j2k.StringSpec.html">StringSpec</a></div>
      <div class="level2"><a class="xref" href="CSJ2K.j2k.entropy.CBlkSizeSpec.html">CBlkSizeSpec</a></div>
      <div class="level2"><a class="xref" href="CSJ2K.j2k.entropy.PrecinctSizeSpec.html">PrecinctSizeSpec</a></div>
      <div class="level2"><a class="xref" href="CSJ2K.j2k.entropy.ProgressionSpec.html">ProgressionSpec</a></div>
      <div class="level2"><a class="xref" href="CSJ2K.j2k.image.CompTransfSpec.html">CompTransfSpec</a></div>
      <div class="level2"><a class="xref" href="CSJ2K.j2k.quantization.GuardBitsSpec.html">GuardBitsSpec</a></div>
      <div class="level2"><a class="xref" href="CSJ2K.j2k.quantization.QuantStepSizeSpec.html">QuantStepSizeSpec</a></div>
      <div class="level2"><a class="xref" href="CSJ2K.j2k.quantization.QuantTypeSpec.html">QuantTypeSpec</a></div>
      <div class="level2"><a class="xref" href="CSJ2K.j2k.roi.MaxShiftSpec.html">MaxShiftSpec</a></div>
      <div class="level2"><a class="xref" href="CSJ2K.j2k.wavelet.analysis.AnWTFilterSpec.html">AnWTFilterSpec</a></div>
      <div class="level2"><a class="xref" href="CSJ2K.j2k.wavelet.synthesis.SynWTFilterSpec.html">SynWTFilterSpec</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="CSJ2K.j2k.html">CSJ2K.j2k</a></h6>
  <h6><strong>Assembly</strong>: C1.WPF.ReportViewer.4.6.2.dll</h6>
  <h5 id="CSJ2K_j2k_ModuleSpec_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class ModuleSpec</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public Class ModuleSpec</code></pre>
  </div>
  <h3 id="constructors">Constructors
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec__ctor_System_Int32_System_Int32_System_Byte_" data-uid="CSJ2K.j2k.ModuleSpec.#ctor(System.Int32,System.Int32,System.Byte)">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.-ctor.html#CSJ2K_j2k_ModuleSpec__ctor_System_Int32_System_Int32_System_Byte_">ModuleSpec(int, int, byte)</a>
        </td>
        <td class="markdown level1 summary"><p>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.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="fields">Fields
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_SPEC_COMP_DEF" data-uid="CSJ2K.j2k.ModuleSpec.SPEC_COMP_DEF">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.SPEC_COMP_DEF.html">SPEC_COMP_DEF</a>
        </td>
        <td class="markdown level1 summary"><p>The identifier for &quot;component default&quot; specification</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_SPEC_DEF" data-uid="CSJ2K.j2k.ModuleSpec.SPEC_DEF">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.SPEC_DEF.html">SPEC_DEF</a>
        </td>
        <td class="markdown level1 summary"><p>The identifier for default specification</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_SPEC_TILE_COMP" data-uid="CSJ2K.j2k.ModuleSpec.SPEC_TILE_COMP">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.SPEC_TILE_COMP.html">SPEC_TILE_COMP</a>
        </td>
        <td class="markdown level1 summary"><p>The identifier for a &quot;tile-component&quot; specification</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_SPEC_TILE_DEF" data-uid="CSJ2K.j2k.ModuleSpec.SPEC_TILE_DEF">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.SPEC_TILE_DEF.html">SPEC_TILE_DEF</a>
        </td>
        <td class="markdown level1 summary"><p>The identifier for &quot;tile default&quot; specification</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_SPEC_TYPE_COMP" data-uid="CSJ2K.j2k.ModuleSpec.SPEC_TYPE_COMP">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.SPEC_TYPE_COMP.html">SPEC_TYPE_COMP</a>
        </td>
        <td class="markdown level1 summary"><p>The identifier for a specification module that applies only to
components</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_SPEC_TYPE_TILE" data-uid="CSJ2K.j2k.ModuleSpec.SPEC_TYPE_TILE">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.SPEC_TYPE_TILE.html">SPEC_TYPE_TILE</a>
        </td>
        <td class="markdown level1 summary"><p>The identifier for a specification module that applies only to tiles</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_SPEC_TYPE_TILE_COMP" data-uid="CSJ2K.j2k.ModuleSpec.SPEC_TYPE_TILE_COMP">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.SPEC_TYPE_TILE_COMP.html">SPEC_TYPE_TILE_COMP</a>
        </td>
        <td class="markdown level1 summary"><p>The identifier for a specification module that applies both to tiles
and components</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_compDef" data-uid="CSJ2K.j2k.ModuleSpec.compDef">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.compDef.html">compDef</a>
        </td>
        <td class="markdown level1 summary"><p>The default value for each component. Null if no component
specific value is defined</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_def" data-uid="CSJ2K.j2k.ModuleSpec.def">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.def.html">def</a>
        </td>
        <td class="markdown level1 summary"><p>Default value for each tile-component</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_nComp" data-uid="CSJ2K.j2k.ModuleSpec.nComp">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.nComp.html">nComp</a>
        </td>
        <td class="markdown level1 summary"><p>The number of components</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_nTiles" data-uid="CSJ2K.j2k.ModuleSpec.nTiles">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.nTiles.html">nTiles</a>
        </td>
        <td class="markdown level1 summary"><p>The number of tiles</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_specType" data-uid="CSJ2K.j2k.ModuleSpec.specType">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.specType.html">specType</a>
        </td>
        <td class="markdown level1 summary"><p>The type of the specification module</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_specValType" data-uid="CSJ2K.j2k.ModuleSpec.specValType">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.specValType.html">specValType</a>
        </td>
        <td class="markdown level1 summary"><p>The spec type for each tile-component. The first index is the tile
index, the second is the component index.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_tileCompVal" data-uid="CSJ2K.j2k.ModuleSpec.tileCompVal">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.tileCompVal.html">tileCompVal</a>
        </td>
        <td class="markdown level1 summary"><p>The specific value for each tile-component. Value of tile 16 component
3 is accessible through the hash value &quot;t16c3&quot;. Null if no
tile-component specific value is defined</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_tileDef" data-uid="CSJ2K.j2k.ModuleSpec.tileDef">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.tileDef.html">tileDef</a>
        </td>
        <td class="markdown level1 summary"><p>The default value for each tile. Null if no tile specific value is
defined</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_Copy" data-uid="CSJ2K.j2k.ModuleSpec.Copy">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.Copy.html#CSJ2K_j2k_ModuleSpec_Copy">Copy</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_Clone" data-uid="CSJ2K.j2k.ModuleSpec.Clone">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.Clone.html#CSJ2K_j2k_ModuleSpec_Clone">Clone()</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_getCompDef_System_Int32_" data-uid="CSJ2K.j2k.ModuleSpec.getCompDef(System.Int32)">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.getCompDef.html#CSJ2K_j2k_ModuleSpec_getCompDef_System_Int32_">getCompDef(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets default value of the specified component. If no specification have
been entered for this component, returns default value.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_getDefault" data-uid="CSJ2K.j2k.ModuleSpec.getDefault">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.getDefault.html#CSJ2K_j2k_ModuleSpec_getDefault">getDefault()</a>
        </td>
        <td class="markdown level1 summary"><p>Gets default value for this module.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_getSpec_System_Int32_System_Int32_" data-uid="CSJ2K.j2k.ModuleSpec.getSpec(System.Int32,System.Int32)">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.getSpec.html#CSJ2K_j2k_ModuleSpec_getSpec_System_Int32_System_Int32_">getSpec(int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>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.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_getSpecValType_System_Int32_System_Int32_" data-uid="CSJ2K.j2k.ModuleSpec.getSpecValType(System.Int32,System.Int32)">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.getSpecValType.html#CSJ2K_j2k_ModuleSpec_getSpecValType_System_Int32_System_Int32_">getSpecValType(int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Return the spec type of the given tile-component.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_getTileCompVal_System_Int32_System_Int32_" data-uid="CSJ2K.j2k.ModuleSpec.getTileCompVal(System.Int32,System.Int32)">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.getTileCompVal.html#CSJ2K_j2k_ModuleSpec_getTileCompVal_System_Int32_System_Int32_">getTileCompVal(int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets value of specified tile-component. This method calls getSpec but
has a public access.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_getTileDef_System_Int32_" data-uid="CSJ2K.j2k.ModuleSpec.getTileDef(System.Int32)">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.getTileDef.html#CSJ2K_j2k_ModuleSpec_getTileDef_System_Int32_">getTileDef(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets default value of the specified tile. If no specification has been
entered, it returns the default value.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_isCompSpecified_System_Int32_" data-uid="CSJ2K.j2k.ModuleSpec.isCompSpecified(System.Int32)">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.isCompSpecified.html#CSJ2K_j2k_ModuleSpec_isCompSpecified_System_Int32_">isCompSpecified(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Whether or not specifications have been entered for the given
component.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_isTileCompSpecified_System_Int32_System_Int32_" data-uid="CSJ2K.j2k.ModuleSpec.isTileCompSpecified(System.Int32,System.Int32)">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.isTileCompSpecified.html#CSJ2K_j2k_ModuleSpec_isTileCompSpecified_System_Int32_System_Int32_">isTileCompSpecified(int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Whether or not a tile-component specification has been defined</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_isTileSpecified_System_Int32_" data-uid="CSJ2K.j2k.ModuleSpec.isTileSpecified(System.Int32)">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.isTileSpecified.html#CSJ2K_j2k_ModuleSpec_isTileSpecified_System_Int32_">isTileSpecified(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Whether or not specifications have been entered for the given tile.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_parseIdx_System_String_System_Int32_" data-uid="CSJ2K.j2k.ModuleSpec.parseIdx(System.String,System.Int32)">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.parseIdx.html#CSJ2K_j2k_ModuleSpec_parseIdx_System_String_System_Int32_">parseIdx(string, int)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_rotate90_CSJ2K_j2k_image_Coord_" data-uid="CSJ2K.j2k.ModuleSpec.rotate90(CSJ2K.j2k.image.Coord)">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.rotate90.html#CSJ2K_j2k_ModuleSpec_rotate90_CSJ2K_j2k_image_Coord_">rotate90(Coord)</a>
        </td>
        <td class="markdown level1 summary"><p>Rotate the ModuleSpec instance by 90 degrees (this modifies only tile
and tile-component specifications).</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_setCompDef_System_Int32_System_Object_" data-uid="CSJ2K.j2k.ModuleSpec.setCompDef(System.Int32,System.Object)">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.setCompDef.html#CSJ2K_j2k_ModuleSpec_setCompDef_System_Int32_System_Object_">setCompDef(int, object)</a>
        </td>
        <td class="markdown level1 summary"><p>Sets default value for specified component and specValType tag if
allowed by its priority.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_setDefault_System_Object_" data-uid="CSJ2K.j2k.ModuleSpec.setDefault(System.Object)">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.setDefault.html#CSJ2K_j2k_ModuleSpec_setDefault_System_Object_">setDefault(object)</a>
        </td>
        <td class="markdown level1 summary"><p>Sets default value for this module</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_setTileCompVal_System_Int32_System_Int32_System_Object_" data-uid="CSJ2K.j2k.ModuleSpec.setTileCompVal(System.Int32,System.Int32,System.Object)">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.setTileCompVal.html#CSJ2K_j2k_ModuleSpec_setTileCompVal_System_Int32_System_Int32_System_Object_">setTileCompVal(int, int, object)</a>
        </td>
        <td class="markdown level1 summary"><p>Sets value for specified tile-component.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_ModuleSpec_setTileDef_System_Int32_System_Object_" data-uid="CSJ2K.j2k.ModuleSpec.setTileDef(System.Int32,System.Object)">
          <a class="xref" href="CSJ2K.j2k.ModuleSpec.setTileDef.html#CSJ2K_j2k_ModuleSpec_setTileDef_System_Int32_System_Object_">setTileDef(int, object)</a>
        </td>
        <td class="markdown level1 summary"><p>Sets default value for specified tile and specValType tag if allowed by
its priority.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
