com.esri.sde.sdk.client
Class SeRasterAttr

java.lang.Object
  extended by com.esri.sde.sdk.client.SeRasterAttr

public class SeRasterAttr
extends java.lang.Object

A SeRasterAttr object provide client side methods for ArcSDE raster data Input/Output operation.

Since:
ArcSDE 9.0
See Also:
SeRasterColumn, SeRaster, SeRasterBand

Field Summary
static java.lang.String COMPRESSION_BIT_RATE
          Tag for raster compression bit rate
static java.lang.String COMPRESSION_QUALITY
          Tag for raster compression quality
static java.lang.String PYRAMID_AUTO_LEVEL
          Tag for raster pyramid auto level flag
static java.lang.String PYRAMID_INTERPOLATION
          Tag for raster pyramid interpolation type
static java.lang.String PYRAMID_MAX_LEVEL
          Tag for raster pyramid max level
 
Constructor Summary
SeRasterAttr(boolean inputMode)
          Constructs SeRasterAttr with specified inputMode
 
Method Summary
 int getBandHeight()
          Retrieves image band height.
 SeRasterBand getBandInfo(int index)
          Retrieves raster band info at specified index location, this is a base 1 index value.
 SeRasterBand[] getBands()
          Retrieves all raster bands for this image.
 int getBandWidth()
          Retrieves image band width.
 double getCompressionProperty(java.lang.String propertyName)
          Retrieves compression property.
 int getCompressionType()
          Retrieves compression type.
 java.lang.String getDescription()
          Retrieves the description
 SeExtent getExtent()
          Retrieves image extent.
 SeExtent getExtentByLevel(int level)
          Retrieves image extent by pyramid level.
 SDEPoint getExtentOffsetByLevel(int level)
          Retrieves image offset values by pyramid level.
 int getImageHeight()
          Retrieves image band height.
 int getImageHeightByLevel(int level)
          Retrieves image band height by pyramid level.
 SDEPoint getImageOffsetByLevel(int level)
          Retrieves image XY offset values by pyramid level.
 int getImageWidth()
          Retrieves image band width.
 int getImageWidthByLevel(int level)
          Retrieves image band width by pyramid level.
 int getInterleave()
          Retrieves interleave type.
 int getInterpolation()
          Retrieves interpolation method.
 int getMaxLevel()
          Retrieves maximum pyramid level.
 int getNumBands()
          Retrieves number of bands.
 int getPixelDepth()
          Return pixel depth in number of bits.
 int getPixelType()
          Retrieves pixel type.
 int getPyramidProperty(java.lang.String propertyName)
          Retrieves pyramid property.
 SeObjectId getRasterColumnId()
          Retrieves the raster_column_ID as SeObjectId.
 SeObjectId getRasterId()
          Retrieves the raster_ID as SeObjectId.
 SeRaster getRasterInfo()
          Retrieves ArcSDE raster info as a SeRaster object.
 int getTileHeight()
          Retrieves tile height.
 SDEPoint getTileOrigin()
          Retrieves the coordinates of the upper-left corner pixel of tile (0, 0)
 int getTilesPerColByLevel(int level)
          Retrieves number of tiles per column (ie, numYTiles) by pyramid level.
 int getTilesPerRowByLevel(int level)
          Retrieves number of tiles per row (ie, numXTiles) by pyramid level.
 int getTileWidth()
          Retrieves tile width.
 boolean isAutoLevelSet()
          Return true if pyramid auto level is set.
 boolean isInputMode()
          Return true if input mode, else false for output mode.
 boolean isMaskMode()
          Return true if mask mode.
 void setColorMap(int colormapType, java.awt.image.DataBuffer colormapData)
          Sets colormap.
 void setCompressionType(int compressionType)
          Sets compression type.
 void setDeleteArea(SeExtent area)
          Deprecated. at ArcSDE v9.0.
 void setExtent(SeExtent envelope)
          Sets image extent.
 void setImageOrigin(double x, double y)
          Sets image origin.
 void setImageSize(int bandWidth, int bandHeight, int numBands)
          Sets image size.
 void setImportMode(boolean importMode)
          Sets import mode is for ESRI internal use only.
 void setInterleave(boolean is_scr_data, int interleave)
          Sets interleave type.
 void setMaskMode(boolean maskMode)
          Sets mask mode for masking off no-data pixels with bitmask data.
 void setMosaicMode(int mosaicMode)
          Sets mosaic mode, default off.
 void setPixelType(int pixelType)
          Sets pixel type.
 void setPyramidInfo(int maxLevel, boolean skipLevelOne, int interpolation)
          Sets pyramid info.
 void setPyramidProperty(java.lang.String propertyName, int propertyValue)
          Sets pyramid property.
 void setRasterCallBack(SeRasterCallBack rasterCallBack, java.lang.Object userContext)
          Sets C like callback method on input mode.
 void setRasterProducer(SeRasterProducer rp)
          Sets java.awt imaging like producer/comsumer callback interface method on input mode.
 void setTileSize(int tileWidth, int tileHeight)
          Sets raster tile's size.
 boolean skipLevelOne()
          Return true, if skip pyramid level one.
 java.lang.String toString()
          toString () method for SeRasterAttr object.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

COMPRESSION_BIT_RATE

public static final java.lang.String COMPRESSION_BIT_RATE
Tag for raster compression bit rate

See Also:
Constant Field Values

COMPRESSION_QUALITY

public static final java.lang.String COMPRESSION_QUALITY
Tag for raster compression quality

See Also:
Constant Field Values

PYRAMID_AUTO_LEVEL

public static final java.lang.String PYRAMID_AUTO_LEVEL
Tag for raster pyramid auto level flag

See Also:
Constant Field Values

PYRAMID_INTERPOLATION

public static final java.lang.String PYRAMID_INTERPOLATION
Tag for raster pyramid interpolation type

See Also:
Constant Field Values

PYRAMID_MAX_LEVEL

public static final java.lang.String PYRAMID_MAX_LEVEL
Tag for raster pyramid max level

See Also:
Constant Field Values
Constructor Detail

SeRasterAttr

public SeRasterAttr(boolean inputMode)
             throws SeException
Constructs SeRasterAttr with specified inputMode

Top of SeRasterAttr class.

Parameters:
inputMode - true for input mode, false for output mode.
Throws:
SeException - if an error occurs.
Method Detail

getBandHeight

public int getBandHeight()
                  throws SeException
Retrieves image band height.

Returns:
an int value
Throws:
SeException - if an error occurs
See Also:
getImageHeight(), getImageWidth(), setImageSize(int, int, int)

getBandWidth

public int getBandWidth()
                 throws SeException
Retrieves image band width.

Returns:
an int value
Throws:
SeException - if an error occurs
See Also:
getImageHeight(), getImageWidth(), setImageSize(int, int, int)

getBandInfo

public SeRasterBand getBandInfo(int index)
                         throws SeException
Retrieves raster band info at specified index location, this is a base 1 index value.

Parameters:
index - an int value
Returns:
a SeRasterBand value
Throws:
SeException - if an error occurs
See Also:
getBands()

getBands

public SeRasterBand[] getBands()
                        throws SeException
Retrieves all raster bands for this image. Object must be in OutputMode and will get raster band list from server if necessary.

Returns:
a SeRasterBand[] value
Throws:
SeException - if an error occurs
See Also:
getBandInfo(int)

getCompressionProperty

public double getCompressionProperty(java.lang.String propertyName)
                              throws SeException
Retrieves compression property.

Parameters:
propertyName - a case insensitive String Use value Quality or BitRate, or
Returns:
a property name value as double value.
Throws:
SeException - if an error occurs
See Also:
getCompressionType(), setCompressionType(int)

getCompressionType

public int getCompressionType()
                       throws SeException
Retrieves compression type. See setCompressionType for valid compression_type values.

Returns:
an int value SeRaster.SE_COMPRESSION_JP2 is not yet implemented.
Throws:
SeException - if an error occurs
See Also:
setCompressionType(int)

getDescription

public java.lang.String getDescription()
Retrieves the description

Returns:
a String value

getExtent

public SeExtent getExtent()
                   throws SeException
Retrieves image extent.

Returns:
a SeExtent value
Throws:
SeException - if an error occurs
See Also:
setExtent(SeExtent), getExtentByLevel(int), getExtentOffsetByLevel(int)

getExtentByLevel

public SeExtent getExtentByLevel(int level)
                          throws SeException
Retrieves image extent by pyramid level.

On output mode. This following group of instance methods have the same affect on each other on getting info by pyramid level. If one of the method is called for the first time, other pyramid related info is calculated and cached for faster access later for these methods:

Parameters:
level - an int value
Returns:
a SeExtent value
Throws:
SeException - if an error occurs
See Also:
getExtent()

getExtentOffsetByLevel

public SDEPoint getExtentOffsetByLevel(int level)
                                throws SeException
Retrieves image offset values by pyramid level.

To get offset in integer form simply cast point's XY values to int. For example,

  SDEPoint imgOffset  = getImageOffsetByLevel (lvl);
  int      imgOffsetX = (int) imgOffset.getX ();
  int      imgOffsetY = (int) imgOffset.getY ();
 

Parameters:
level - an int value
Returns:
a SDEPoint value
Throws:
SeException - if an error occurs
See Also:
getExtent(), getExtentByLevel(int), getImageHeightByLevel(int), getImageWidthByLevel(int), getImageOffsetByLevel(int)

getImageHeight

public int getImageHeight()
                   throws SeException
Retrieves image band height.

Returns:
an int value
Throws:
SeException - if an error occurs
See Also:
getBandHeight(), getBandWidth(), setImageSize(int, int, int)

getImageWidth

public int getImageWidth()
                  throws SeException
Retrieves image band width.

Returns:
an int value
Throws:
SeException - if an error occurs
See Also:
getBandHeight(), getBandWidth(), setImageSize(int, int, int)

getImageHeightByLevel

public int getImageHeightByLevel(int level)
                          throws SeException
Retrieves image band height by pyramid level.

On output mode. This following group of instance methods have the same affect on each other on getting info by pyramid level. If one of the method is called for the first time, other pyramid related info is calculated and cached for faster access later for these methods:

Parameters:
level - an int value
Returns:
an int value
Throws:
SeException - if an error occurs
See Also:
getBandHeight(), getTileHeight()

getImageWidthByLevel

public int getImageWidthByLevel(int level)
                         throws SeException
Retrieves image band width by pyramid level.

Parameters:
level - an int value
Returns:
an int value
Throws:
SeException - if an error occurs
See Also:
getImageHeightByLevel(int), getImageOffsetByLevel(int), getExtentByLevel(int), getExtentOffsetByLevel(int), getBandWidth(), getTileWidth()

getImageOffsetByLevel

public SDEPoint getImageOffsetByLevel(int level)
                               throws SeException
Retrieves image XY offset values by pyramid level.

To get offset in integer form simply cast point's XY values to int. For example,

  SDEPoint imgOffset  = getImageOffsetByLevel (lvl);
  int      imgOffsetX = (int) imgOffset.getX ();
  int      imgOffsetY = (int) imgOffset.getY ();
 

Parameters:
level - an int value
Returns:
a SDEPoint value
Throws:
SeException - if an error occurs
See Also:
getExtentOffsetByLevel(int), getExtentByLevel(int), getImageHeightByLevel(int), getImageWidthByLevel(int)

getInterleave

public int getInterleave()
                  throws SeException
Retrieves interleave type.

Returns:
interleave as an int value
Throws:
SeException - if an error occurs

getInterpolation

public int getInterpolation()
                     throws SeException
Retrieves interpolation method.

Returns:
interpolation as an int value
Throws:
SeException - if an error occurs
See Also:
getMaxLevel(), skipLevelOne(), setPyramidInfo(int, boolean, int)

getMaxLevel

public int getMaxLevel()
                throws SeException
Retrieves maximum pyramid level.

Returns:
an int value
Throws:
SeException - if an error occurs
See Also:
getInterpolation(), skipLevelOne(), setPyramidInfo(int, boolean, int)

getNumBands

public int getNumBands()
                throws SeException
Retrieves number of bands.

Returns:
an int value
Throws:
SeException - if an error occurs

getPixelDepth

public int getPixelDepth()
                  throws SeException
Return pixel depth in number of bits.

Returns:
an int value
Throws:
SeException
See Also:
getPixelType(), setPixelType(int)

getPixelType

public int getPixelType()
                 throws SeException
Retrieves pixel type.

Returns:
Pixel type as an int value
Throws:
SeException - if an error occurs
See Also:
setPixelType(int)

getPyramidProperty

public int getPyramidProperty(java.lang.String propertyName)
                       throws SeException
Retrieves pyramid property.

Parameters:
propertyName - a case insensitive String Use value MaxLevel, Interpolation or AutoLevel, or use
Returns:
a property name value as int value.
Throws:
SeException - if an error occurs
See Also:
setPyramidProperty(java.lang.String, int), getInterpolation(), getMaxLevel(), skipLevelOne(), isAutoLevelSet()

getRasterColumnId

public SeObjectId getRasterColumnId()
                             throws SeException
Retrieves the raster_column_ID as SeObjectId.

Returns:
a SeObjectId value
Throws:
SeException - if an error occurs
See Also:
getRasterId()

getRasterId

public SeObjectId getRasterId()
                       throws SeException
Retrieves the raster_ID as SeObjectId.

Returns:
a SeObjectId value
Throws:
SeException - if an error occurs
See Also:
getRasterColumnId()

getRasterInfo

public SeRaster getRasterInfo()
                       throws SeException,
                              java.lang.CloneNotSupportedException
Retrieves ArcSDE raster info as a SeRaster object.

Returns:
a SeRaster value
Throws:
SeException - if an error occurs
java.lang.CloneNotSupportedException - if an error occurs
See Also:
SeRaster

getTileHeight

public int getTileHeight()
                  throws SeException
Retrieves tile height.

Returns:
an int value
Throws:
SeException - if an error occurs
See Also:
getTileWidth(), getTileOrigin()

getTileWidth

public int getTileWidth()
                 throws SeException
Retrieves tile width.

Returns:
an int value
Throws:
SeException - if an error occurs
See Also:
getTileHeight(), getTileOrigin()

getTileOrigin

public SDEPoint getTileOrigin()
                       throws SeException
Retrieves the coordinates of the upper-left corner pixel of tile (0, 0)

Returns:
a SDEPoint value
Throws:
SeException - if an error occurs
See Also:
getTileHeight(), getTileWidth()

getTilesPerColByLevel

public int getTilesPerColByLevel(int level)
                          throws SeException
Retrieves number of tiles per column (ie, numYTiles) by pyramid level.

Returns:
an int value
Throws:
SeException - if an error occurs
See Also:
getTilesPerRowByLevel(int)

getTilesPerRowByLevel

public int getTilesPerRowByLevel(int level)
                          throws SeException
Retrieves number of tiles per row (ie, numXTiles) by pyramid level.

Returns:
an int value
Throws:
SeException - if an error occurs
See Also:
getTilesPerColByLevel(int)

isAutoLevelSet

public boolean isAutoLevelSet()
                       throws SeException
Return true if pyramid auto level is set.

Returns:
a boolean value C-API equivalent: SES_rasterattr_is_origin_set ()
Throws:
SeException

isInputMode

public boolean isInputMode()
Return true if input mode, else false for output mode.

Returns:
a boolean value

isMaskMode

public boolean isMaskMode()
                   throws SeException
Return true if mask mode. For input mode only.

Returns:
a boolean value
Throws:
SeException - if not input mode then throw exception with SeError.SE_OPERATION_NOT_ALLOWED code.

setColorMap

public void setColorMap(int colormapType,
                        java.awt.image.DataBuffer colormapData)
                 throws SeException,
                        java.io.IOException
Sets colormap.

The colormapType will determine the number of banks. The colormapData object will determine the data type and the number of entries per bank.

Parameters:
colormapType - as an int value
colormapData - an awt.image.DataBuffer value.
Throws:
SeException - if an error occurs
java.io.IOException - if an error occurs
See Also:
SeRasterBand.getColorMap(), SeRasterBand.getColorMapData()

setCompressionType

public void setCompressionType(int compressionType)
                        throws SeException
Sets compression type.

The compression_type argument accepts the following values:

SeRaster.SE_COMPRESSION_JP2 is not yet implemented.

Parameters:
compressionType - an int value
Throws:
SeException - if an error occurs
See Also:
getCompressionType()

setDeleteArea

public void setDeleteArea(SeExtent area)
                   throws SeException
Deprecated. at ArcSDE v9.0.

Sets delete area.

Parameters:
area - a SeExtent value.
Throws:
SeException - if an error occurs
See Also:
setExtent(com.esri.sde.sdk.client.SeExtent)

setExtent

public void setExtent(SeExtent envelope)
               throws SeException
Sets image extent.

Parameters:
envelope - a SeExtent value.
Throws:
SeException - if an error occurs
See Also:
getExtent(), setDeleteArea(com.esri.sde.sdk.client.SeExtent)

setImageOrigin

public void setImageOrigin(double x,
                           double y)
                    throws SeException
Sets image origin.

Parameters:
x - an double value
y - an double value
Throws:
SeException - if an error occurs
See Also:
setBlockOrigin(double, double), getBlockOrigin()

setImageSize

public void setImageSize(int bandWidth,
                         int bandHeight,
                         int numBands)
                  throws SeException
Sets image size.

Parameters:
bandWidth - an int value
bandHeight - an int value
numBands - an int value
Throws:
SeException - if an error occurs
See Also:
getBandHeight(), getBandWidth(), getNumBands()

setImportMode

public void setImportMode(boolean importMode)
                   throws SeException
Sets import mode is for ESRI internal use only.

This allow the client side to transport server native raste tile data block in compressed or uncompressed format.

Parameters:
importMode - a boolean value.
Throws:
SeException - if an error occurs
See Also:
setRasterProducer(com.esri.sde.sdk.client.SeRasterProducer), SeRasterRenderedTile.setRasterTiles(com.esri.sde.sdk.client.SeRasterTile[]), SeRasterProducer, SeRasterConsumer

setInterleave

public void setInterleave(boolean is_scr_data,
                          int interleave)
                   throws SeException
Sets interleave type.

Parameters:
is_scr_data - a boolean value.
interleave - an int value.
Throws:
SeException - if an error occurs

setMaskMode

public void setMaskMode(boolean maskMode)
                 throws SeException
Sets mask mode for masking off no-data pixels with bitmask data.

When set, the callback function specified in setRasterCallBack(com.esri.sde.sdk.client.SeRasterCallBack, java.lang.Object) is required to provide bitmask information along with the pixel data. The bitmask data is used to mask off no-data pixels.

Parameters:
maskMode - a boolean value.
Throws:
SeException - if an error occurs
See Also:
setRasterCallBack(com.esri.sde.sdk.client.SeRasterCallBack, java.lang.Object)

setMosaicMode

public void setMosaicMode(int mosaicMode)
                   throws SeException
Sets mosaic mode, default off.

SE_MOSAIC_NONE -- is equivalent to mosaic mode OFF. SE_MOSAIC_MERGE -- is equivalent to mosaic mode ON. SE_MOSAIC_DELETE -- is mosaic mode ON with the following merge policy. For pixels in two overlapping tiles, if the new pixel's bitmask is 0, then delete the old pixel. If it is 1, then do nothing.

Parameters:
mosaicMode - an int value.
Throws:
SeException - if an error occurs

setPixelType

public void setPixelType(int pixelType)
                  throws SeException
Sets pixel type.

The pixelType argument accepts the following values:

Parameters:
pixelType - an int value
Throws:
SeException - if an error occurs
See Also:
getPixelType()

setPyramidInfo

public void setPyramidInfo(int maxLevel,
                           boolean skipLevelOne,
                           int interpolation)
                    throws SeException
Sets pyramid info.

Parameters:
maxLevel - an int value
skipLevelOne - a boolean value. If true, the first level is not counted.
interpolation - an int value
Throws:
SeException - if an error occurs
See Also:
getInterpolation(), getMaxLevel(), skipLevelOne()

setPyramidProperty

public void setPyramidProperty(java.lang.String propertyName,
                               int propertyValue)
                        throws SeException
Sets pyramid property.

Parameters:
propertyName - a case insensitive String. Use value MaxLevel, Interpolation or AutoLevel, or use
propertyValue - an int value "maxLevel" = (int) propertyValue; "interpolation" = (int) propertyValue; "autoLevel" = if (propertyValue !=0) autoLevel=SeRaster.SE_PYRAMID_AUTO_LEVEL;
Throws:
SeException - if an error occurs
See Also:
setPyramidInfo(int, boolean, int), getPyramidProperty(java.lang.String), getInterpolation(), getMaxLevel(), skipLevelOne()

setTileSize

public void setTileSize(int tileWidth,
                        int tileHeight)
                 throws SeException
Sets raster tile's size.

Parameters:
tileWidth - an int value
tileHeight - an int value
Throws:
SeException - if an error occurs
See Also:
getTileHeight(), getTileWidth(), getTileOrigin()

skipLevelOne

public boolean skipLevelOne()
                     throws SeException
Return true, if skip pyramid level one.

Returns:
an boolean value
Throws:
SeException - if an error occurs
See Also:
getInterpolation(), getMaxLevel(), setPyramidInfo(int, boolean, int)

setRasterCallBack

public void setRasterCallBack(SeRasterCallBack rasterCallBack,
                              java.lang.Object userContext)
                       throws SeException
Sets C like callback method on input mode. Feed SeStream insert/update continuously with pieces of image data from external source through the SeInsert/SeUpdate operation. This interface accept ScanLine image data only.

Note: Choose between one of the two available methods for input mode. (i.e, setRasterCallBack() or setRasterProducer()). If both methods are called, then the latest one will take affect.

  SeInsert  insert = new SeInsert (seConnection);
  insert.intoTable (toTableName, columnNames);

  boolean      inputMode = true;
  SeRasterAttr toRasAttr = new SeRasterAttr (inputMode);

  // Set callback func
  Object              userContext = null;
  SeRasterCallBackImp myCallBack  = new SeRasterCallBackImp (toRasAttr, ..);
  toRasAttr.setRasterCallBack (myCallBack, userContext);

  SeRow toRow = insert.getRowToSet ();
  toRow.setRaster (toRasColPos, toRasAttr);

  insert.execute ();
  insert.close ();
  .
  .
 
Where SeRasterCallBackImp object is
  // ------------------------------------------------------------------
  // Raster CallBack class
  // ------------------------------------------------------------------
  class SeRasterCallBackImp extends SeRasterCallBack {

    // Class constructor
    SeRasterCallBackImpl (SeRasterAttr rasAttr, ...) {

      // constructor
    }

    // The C-API equivalent of callback function here.
    // See abstract class SeRasterCallBack for more info
    public SeRaterData getSeRasterData (Object userContext) {

      // Construct raster data and return as SeRasterData object type.
    }
  }
 

Parameters:
rasterCallBack - a SeRasterCallBack value.
userContext - an Object value.
Throws:
SeException - if an error occurs
See Also:
setRasterProducer(com.esri.sde.sdk.client.SeRasterProducer), SeRasterCallBack

setRasterProducer

public void setRasterProducer(SeRasterProducer rp)
                       throws SeException
Sets java.awt imaging like producer/comsumer callback interface method on input mode. Feed SeStream insert/update continuously with pieces of image data from external source through the SeInsert/SeUpdate operation.

The SeRasterRenderedImage object is implemented as SeRasterConsumer for ScanLine mode load.

Note: Choose between one of the two available methods for input mode. (i.e, setRasterCallBack() or setRasterProducer()). If both methods are called, then the latest one will take affect.

  String[]  columnNames = {"attr1", "attr2", "rascol"};
  SeInsert  insert      = new SeInsert (seConnection);
  insert.intoTable (toTableName, columnNames);

  boolean      inputMode = true;
  SeRasterAttr toRasAttr = new SeRasterAttr (inputMode);
  .
  .
  .
  // Set callback func
  MyRasterProducer myProducer = new MyRasterProducer (...);
  toRasAttr.setRasterProducer (myProducer);

  SeRow  toRow = insert.getRowToSet ();
  toRow.setRaster (toRasColPos, toRasAttr);

  insert.execute ();
  insert.close ();
  .
  .
 
Where MyRasterProducer object is
  // ------------------------------------------------------------------
  // Raster renderable class
  // ------------------------------------------------------------------
  class MyRasterProducer implements SeRasterProducer, Runnable {

    // Needed for SeRasterProducer interface
    private Vector            _rasConsumers  = null;
    private SeRasterConsumer  _rc            = null;
    private Thread            _thread        = null;

    // Class constructor
    MyRasterProducer (...) {
      _rasConsumers = new Vector ();
    }

    // The C-API equivalent of callback function here.
    // See abstract class SeRasterRenderedImage for more info
    public synchronized void startProduction (SeRasterConsumer rc) {

      if (!isConsumer (rc)) {
        System.out.print(" Invalid raster consumer");
        return;
      }
      _rc = rc;                            // Save a copy

      if (_thread == null) {
          _thread = new Thread (this);
          _thread.setPriority (Thread.NORM_PRIORITY);
      }
      _thread.start ();                    // Will invoke the run() method
    }

    // The run method
    public void run () {

      for (...) {
        // As many times as needed
        _rc.setScanLines (...);            // For ScanLine_Mode load.
      }

      _rc.rasterComplete (SeRasterConsumer.SINGLEFRAMEDONE);
    }

    // addConsumer method
    public void addConsumer (SeRasterConsumer rc) {
      if (_rasConsumers.contains(rc) == false)
          _rasConsumers.addElement (rc);
    }

    // isConsumer method
    public boolean isConsumer (SeRasterConsumer rc) {
      return (_rasConsumers.contains (rc));
    }

    // removeConsumer method
    public void removeConsumer (SeRasterConsumer rc) {
      if (_rasConsumers.contains(rc) == true)
          _rasConsumers.removeElement (rc);
    }
  }
 

Parameters:
rp - a SeRasterProducer value.
Throws:
SeException - if an error occurs
See Also:
setRasterCallBack(com.esri.sde.sdk.client.SeRasterCallBack, java.lang.Object), SeRasterProducer, SeRasterConsumer, SeRasterRenderedImage.setScanLines(int, byte[], byte[])

toString

public java.lang.String toString()
toString () method for SeRasterAttr object.

Overrides:
toString in class java.lang.Object
Returns:
a String value