com.esri.arcgis.datasourcesraster
Class CachedRasterFunction

java.lang.Object
  extended by com.esri.arcgis.datasourcesraster.CachedRasterFunction
All Implemented Interfaces:
IRasterFunction, IRasterFunction2, IRasterKeyProperties, com.esri.arcgis.interop.RemoteObjRef, IPersist, IPersistStream, IXMLSerialize, IXMLVersionSupport, Externalizable, Serializable

public class CachedRasterFunction
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IRasterFunction, IRasterFunction2, IPersist, IPersistStream, IXMLSerialize, IXMLVersionSupport, IRasterKeyProperties, Externalizable

The cached raster function for caching function raster datasets.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

See Also:
Serialized Form

Constructor Summary
CachedRasterFunction()
          Constructs a CachedRasterFunction using ArcGIS Engine.
CachedRasterFunction(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
CachedRasterFunction theCachedRasterFunction = (CachedRasterFunction) obj;
 
Method Summary
 void bind(Object pArguments)
          Binds function arguments to this raster function.
 void clearCache(Object pArguments)
          Clear the cache.
 IGeometry computeFootprint(int maximumVertices)
          Computes the footprint.
 void deserialize(IXMLSerializeData data)
          Deserializes an object from XML.
 boolean equals(Object o)
          Compare this object with another
 void getAllBandProperties(int bandIndex, IStringArray[] ppNames, IVariantArray[] ppValues)
          Queries all available band-specific key properties.
 void getAllProperties(IStringArray[] ppNames, IVariantArray[] ppValues)
          Queries all available key properties.
 Object getBandProperty(String sName, int bandIndex)
          Returns the requested key property by name for a given band.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 String getDescription()
          The raster function description.
 void getFiles(IGeometry pGeometry, IStringArray ppFiles)
          Gets source files within a given clipping geometry.
 int getInvalidDatasetProperties()
          The properties to be invalidated when a function raster dataset is initialized.
 String getMinNamespaceSupported()
          The minimum namespace the class can serialize to (eg the 90 namespace).
 String getName()
          The raster function name.
 int getPixelType()
          The output pixel type.
 void getProcessingCost(double[] pProcessingCost)
          getProcessingCost
 Object getProperty(String sName)
          Returns the requested key property by name.
 IRasterInfo getRasterInfo()
          The raster information after this function is applied to an object.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 int hashCode()
          the hashcode for this object
 boolean isActive()
          Indicates if the function is actively participating in the chain.
 boolean isCacheStale()
          Indicates if the raster cache is stale and needs to be refreshed.
 void isDirty()
          isDirty
 boolean isValid()
          Indicates if this function is valid, e.g.
 void load(IStream pstm)
          load
 void read(IPnt pTlc, IRaster pRaster, IPixelBlock pPixelBlock)
          Reads a pixel block starting from the top left corner.
 void readExternal(ObjectInput in)
           
 void refreshCache()
          Refresh raster cache.
 void removeBandProperty(String sName, int bandIndex)
          Removes all occurrences of the specified key property for a given band.
 void removeProperty(String sName)
          Removes all occurrences of the specified key property.
 void save(IStream pstm, int fClearDirty)
          save
 void serialize(IXMLSerializeData data)
          Serializes an object to XML.
 void setBandProperty(String sName, int bandIndex, Object vtValue)
          Updates the value of the specified key property by name for a given band.
 void setDescription(String pDescription)
          The raster function description.
 void setInvalidDatasetProperties(int pDatasetProperties)
          The properties to be invalidated when a function raster dataset is initialized.
 void setName(String pName)
          The raster function name.
 void setPixelType(int pPixelType)
          The output pixel type.
 void setProperty(String sName, Object vtValue)
          Updates the value of the specified key property by name.
 void update()
          Updates using newly available information from bound object.
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

CachedRasterFunction

public CachedRasterFunction()
                     throws IOException,
                            UnknownHostException
Constructs a CachedRasterFunction using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

CachedRasterFunction

public CachedRasterFunction(Object obj)
                     throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
CachedRasterFunction theCachedRasterFunction = (CachedRasterFunction) obj;

Construct a CachedRasterFunction using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to CachedRasterFunction.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

getName

public String getName()
               throws IOException,
                      AutomationException
The raster function name.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getName in interface IRasterFunction
Returns:
The pName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setName

public void setName(String pName)
             throws IOException,
                    AutomationException
The raster function name.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setName in interface IRasterFunction
Parameters:
pName - The pName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDescription

public String getDescription()
                      throws IOException,
                             AutomationException
The raster function description.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getDescription in interface IRasterFunction
Returns:
The pDescription
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDescription

public void setDescription(String pDescription)
                    throws IOException,
                           AutomationException
The raster function description.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setDescription in interface IRasterFunction
Parameters:
pDescription - The pDescription (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPixelType

public int getPixelType()
                 throws IOException,
                        AutomationException
The output pixel type.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getPixelType in interface IRasterFunction
Returns:
A com.esri.arcgis.geodatabase.rstPixelType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPixelType

public void setPixelType(int pPixelType)
                  throws IOException,
                         AutomationException
The output pixel type.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setPixelType in interface IRasterFunction
Parameters:
pPixelType - A com.esri.arcgis.geodatabase.rstPixelType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

bind

public void bind(Object pArguments)
          throws IOException,
                 AutomationException
Binds function arguments to this raster function.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
bind in interface IRasterFunction
Parameters:
pArguments - A reference to another Object (IUnknown) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isValid

public boolean isValid()
                throws IOException,
                       AutomationException
Indicates if this function is valid, e.g. bound to an object, and etc.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
isValid in interface IRasterFunction
Returns:
The pValid
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

update

public void update()
            throws IOException,
                   AutomationException
Updates using newly available information from bound object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
update in interface IRasterFunction
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRasterInfo

public IRasterInfo getRasterInfo()
                          throws IOException,
                                 AutomationException
The raster information after this function is applied to an object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getRasterInfo in interface IRasterFunction
Returns:
A reference to a com.esri.arcgis.datasourcesraster.IRasterInfo
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

read

public void read(IPnt pTlc,
                 IRaster pRaster,
                 IPixelBlock pPixelBlock)
          throws IOException,
                 AutomationException
Reads a pixel block starting from the top left corner.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
read in interface IRasterFunction
Parameters:
pTlc - A reference to a com.esri.arcgis.geodatabase.IPnt (in)
pRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
pPixelBlock - A reference to a com.esri.arcgis.geodatabase.IPixelBlock (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

computeFootprint

public IGeometry computeFootprint(int maximumVertices)
                           throws IOException,
                                  AutomationException
Computes the footprint.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
computeFootprint in interface IRasterFunction2
Parameters:
maximumVertices - The maximumVertices (in)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

refreshCache

public void refreshCache()
                  throws IOException,
                         AutomationException
Refresh raster cache.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
refreshCache in interface IRasterFunction2
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

clearCache

public void clearCache(Object pArguments)
                throws IOException,
                       AutomationException
Clear the cache.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
clearCache in interface IRasterFunction2
Parameters:
pArguments - A reference to another Object (IUnknown) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFiles

public void getFiles(IGeometry pGeometry,
                     IStringArray ppFiles)
              throws IOException,
                     AutomationException
Gets source files within a given clipping geometry.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getFiles in interface IRasterFunction2
Parameters:
pGeometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
ppFiles - A reference to a com.esri.arcgis.system.IStringArray (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getProcessingCost

public void getProcessingCost(double[] pProcessingCost)
                       throws IOException,
                              AutomationException
getProcessingCost

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getProcessingCost in interface IRasterFunction2
Parameters:
pProcessingCost - The pProcessingCost (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCacheStale

public boolean isCacheStale()
                     throws IOException,
                            AutomationException
Indicates if the raster cache is stale and needs to be refreshed.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
isCacheStale in interface IRasterFunction2
Returns:
The pIsStale
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isActive

public boolean isActive()
                 throws IOException,
                        AutomationException
Indicates if the function is actively participating in the chain.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
isActive in interface IRasterFunction2
Returns:
The pIsActive
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getInvalidDatasetProperties

public int getInvalidDatasetProperties()
                                throws IOException,
                                       AutomationException
The properties to be invalidated when a function raster dataset is initialized.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getInvalidDatasetProperties in interface IRasterFunction2
Returns:
The pDatasetProperties
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setInvalidDatasetProperties

public void setInvalidDatasetProperties(int pDatasetProperties)
                                 throws IOException,
                                        AutomationException
The properties to be invalidated when a function raster dataset is initialized.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setInvalidDatasetProperties in interface IRasterFunction2
Parameters:
pDatasetProperties - The pDatasetProperties (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClassID

public void getClassID(GUID[] pClassID)
                throws IOException,
                       AutomationException
getClassID

Description

IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClassID in interface IPersist
Parameters:
pClassID - A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDirty

public void isDirty()
             throws IOException,
                    AutomationException
isDirty

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isDirty in interface IPersistStream
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

load

public void load(IStream pstm)
          throws IOException,
                 AutomationException
load

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
load in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

save

public void save(IStream pstm,
                 int fClearDirty)
          throws IOException,
                 AutomationException
save

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
save in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
fClearDirty - The fClearDirty (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSizeMax

public void getSizeMax(_ULARGE_INTEGER[] pcbSize)
                throws IOException,
                       AutomationException
getSizeMax

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSizeMax in interface IPersistStream
Parameters:
pcbSize - A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

serialize

public void serialize(IXMLSerializeData data)
               throws IOException,
                      AutomationException
Serializes an object to XML.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
serialize in interface IXMLSerialize
Parameters:
data - A reference to a com.esri.arcgis.system.IXMLSerializeData (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deserialize

public void deserialize(IXMLSerializeData data)
                 throws IOException,
                        AutomationException
Deserializes an object from XML.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
deserialize in interface IXMLSerialize
Parameters:
data - A reference to a com.esri.arcgis.system.IXMLSerializeData (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMinNamespaceSupported

public String getMinNamespaceSupported()
                                throws IOException,
                                       AutomationException
The minimum namespace the class can serialize to (eg the 90 namespace).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getMinNamespaceSupported in interface IXMLVersionSupport
Returns:
The namespaceURI
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getProperty

public Object getProperty(String sName)
                   throws IOException,
                          AutomationException
Returns the requested key property by name.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getProperty in interface IRasterKeyProperties
Parameters:
sName - The sName (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setProperty

public void setProperty(String sName,
                        Object vtValue)
                 throws IOException,
                        AutomationException
Updates the value of the specified key property by name.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setProperty in interface IRasterKeyProperties
Parameters:
sName - The sName (in)
vtValue - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeProperty

public void removeProperty(String sName)
                    throws IOException,
                           AutomationException
Removes all occurrences of the specified key property.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
removeProperty in interface IRasterKeyProperties
Parameters:
sName - The sName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAllProperties

public void getAllProperties(IStringArray[] ppNames,
                             IVariantArray[] ppValues)
                      throws IOException,
                             AutomationException
Queries all available key properties.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getAllProperties in interface IRasterKeyProperties
Parameters:
ppNames - A reference to a com.esri.arcgis.system.IStringArray (out: use single element array)
ppValues - A reference to a com.esri.arcgis.system.IVariantArray (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBandProperty

public Object getBandProperty(String sName,
                              int bandIndex)
                       throws IOException,
                              AutomationException
Returns the requested key property by name for a given band.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getBandProperty in interface IRasterKeyProperties
Parameters:
sName - The sName (in)
bandIndex - The bandIndex (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setBandProperty

public void setBandProperty(String sName,
                            int bandIndex,
                            Object vtValue)
                     throws IOException,
                            AutomationException
Updates the value of the specified key property by name for a given band.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setBandProperty in interface IRasterKeyProperties
Parameters:
sName - The sName (in)
bandIndex - The bandIndex (in)
vtValue - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeBandProperty

public void removeBandProperty(String sName,
                               int bandIndex)
                        throws IOException,
                               AutomationException
Removes all occurrences of the specified key property for a given band.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
removeBandProperty in interface IRasterKeyProperties
Parameters:
sName - The sName (in)
bandIndex - The bandIndex (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAllBandProperties

public void getAllBandProperties(int bandIndex,
                                 IStringArray[] ppNames,
                                 IVariantArray[] ppValues)
                          throws IOException,
                                 AutomationException
Queries all available band-specific key properties.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getAllBandProperties in interface IRasterKeyProperties
Parameters:
bandIndex - The bandIndex (in)
ppNames - A reference to a com.esri.arcgis.system.IStringArray (out: use single element array)
ppValues - A reference to a com.esri.arcgis.system.IVariantArray (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Throws:
IOException
ClassNotFoundException