SandMark version 2.0


sandmark.watermark.ct.encode.storage
Class StorageClass

java.lang.Object
  |
  +--sandmark.watermark.ct.encode.storage.StorageClass
Direct Known Subclasses:
Array, Hash, Pointer, Vector

public abstract class StorageClass
extends java.lang.Object

sandmark.watermark.ct.encode.storage.Array, sandmark.watermark.ct.encode.storage.Hash, sandmark.watermark.ct.encode.storage.Pointer, sandmark.watermark.ct.encode.storage.Vector are classes that deal with how we keep track of graph nodes in the watermarked program. In order to make sure that the garbage collector does not do away with the subgraphs we've built, we must store (at least) the root pointer of each subgraph in some kind of global storage. There are four possibilities right now: we can store in a global Array, HashTable, individual Pointers, or in a java Vector.

sandmark.watermark.ct.encode.storage.Storage is the base-class for these storage methods.

sandmark.watermark.ct.encode.storage.GlobalStorage decides which nodes should be stored where.


Field Summary
static int FORMAL
           
static int GLOBAL
           
(package private)  int storeLocation
           
 
Constructor Summary
StorageClass()
           
 
Method Summary
 int getStoreLocation()
           
 java.lang.String locationToString()
           
abstract  Statement toJavaCreate(Graph graph, java.util.Properties props)
           
 Java toJavaFormal(Graph graph, java.util.Properties props)
           
abstract  Expression toJavaLoad(Node node, java.util.Properties props)
           
abstract  Statement toJavaStore(Node node, java.util.Properties props)
           
 java.lang.String toString()
           
abstract  java.lang.String typeName(java.util.Properties props)
           
abstract  java.lang.String variableName(java.util.Properties props)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

storeLocation

int storeLocation

GLOBAL

public static final int GLOBAL
See Also:
Constant Field Values

FORMAL

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

StorageClass

public StorageClass()
Method Detail

getStoreLocation

public int getStoreLocation()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

locationToString

public java.lang.String locationToString()

toJavaStore

public abstract Statement toJavaStore(Node node,
                                      java.util.Properties props)

toJavaLoad

public abstract Expression toJavaLoad(Node node,
                                      java.util.Properties props)

typeName

public abstract java.lang.String typeName(java.util.Properties props)

variableName

public abstract java.lang.String variableName(java.util.Properties props)

toJavaCreate

public abstract Statement toJavaCreate(Graph graph,
                                       java.util.Properties props)

toJavaFormal

public Java toJavaFormal(Graph graph,
                         java.util.Properties props)

SandMark version 2.0

Mon Jun 17 12:30:47 MST 2002