SandMark version 2.0


sandmark.watermark.objectwm
Class ObjectWatermark

java.lang.Object
  |
  +--sandmark.Algorithm
        |
        +--sandmark.watermark.GeneralWatermarker
              |
              +--sandmark.watermark.StaticWatermarker
                    |
                    +--sandmark.watermark.objectwm.ObjectWatermark

public class ObjectWatermark
extends StaticWatermarker

Implementing Stern's Algorithm for Robust Object Watermarking


Nested Class Summary
(package private)  class ObjectWatermark.Recognizer
           
 
Field Summary
(package private) static ClassFileCollection cfc
           
(package private) static ConfigProperties configProps
           
(package private) static java.util.jar.JarOutputStream jarOutput
           
(package private) static java.util.Vector origVector
           
(package private) static int threshold
           
(package private) static java.math.BigInteger wmBigInteger
           
(package private) static java.lang.String wmString
           
 
Constructor Summary
ObjectWatermark()
           
 
Method Summary
static void display_VectorInfo(java.util.Vector vec, java.lang.String mesg)
           
 void embed(ClassFileCollection input, java.util.jar.JarOutputStream output, java.util.Properties props)
          Embed a watermark value into the program.
 java.lang.String getAlgHTML()
          Get the HTML codes of the About page for ConstantString
 java.lang.String getAlgURL()
          Get the URL of the Help page for ConstantString
 java.lang.String getAuthor()
          Specifies the author of this algorithm.
 java.lang.String getAuthorEmail()
          Specifies the author's email address.
 ConfigProperties getConfigProperties()
          Gets the ConfigProperties object which specifies the parameters for this run of the algorithm.
 java.lang.String getDescription()
          Specifies what this algorithm does.
 java.lang.String getLongName()
          Returns this watermarker's long name.
static ConfigProperties getProperties()
          Get the GENERAL properties of watermark
 java.lang.String getShortName()
          Specifies this algorithm's short name.
 java.util.Iterator recognize(java.util.Properties props)
           
 void setConfigProperties(ConfigProperties props)
          Sets the ConfigProperties object which specifies the parameters for this run of the algorithm.
static void setProperties(ConfigProperties props)
          Set the GENERAL properties of watermark
 
Methods inherited from class sandmark.watermark.StaticWatermarker
getAboutHTML, getHelpURL
 
Methods inherited from class sandmark.Algorithm
getMutations, getPostprohibited, getPostrequisites, getPostsuggestions, getPreprohibited, getPrerequisites, getPresuggestions, getReferences
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

configProps

static ConfigProperties configProps

cfc

static ClassFileCollection cfc

origVector

static java.util.Vector origVector

jarOutput

static java.util.jar.JarOutputStream jarOutput

wmBigInteger

static java.math.BigInteger wmBigInteger

wmString

static java.lang.String wmString

threshold

static int threshold
Constructor Detail

ObjectWatermark

public ObjectWatermark()
Method Detail

getShortName

public java.lang.String getShortName()
Description copied from class: Algorithm
Specifies this algorithm's short name. A short name should be no longer than 20 characters, and contain capitalized space delimited words (i.e. title case). For example, an obfuscation that sets all of the fields in a jar file to public scoping should have a short name like "Set Fields Public".

Specified by:
getShortName in class Algorithm
Returns:
the short name for this algorithm

getLongName

public java.lang.String getLongName()
Returns this watermarker's long name.

Specified by:
getLongName in class Algorithm
Returns:
the long name for this algorithm

getProperties

public static ConfigProperties getProperties()
Description copied from class: GeneralWatermarker
Get the GENERAL properties of watermark


setProperties

public static void setProperties(ConfigProperties props)
Description copied from class: GeneralWatermarker
Set the GENERAL properties of watermark


getConfigProperties

public ConfigProperties getConfigProperties()
Description copied from class: Algorithm
Gets the ConfigProperties object which specifies the parameters for this run of the algorithm.

Specified by:
getConfigProperties in class Algorithm
Returns:
the parameters for this run of the algorithm

setConfigProperties

public void setConfigProperties(ConfigProperties props)
Description copied from class: Algorithm
Sets the ConfigProperties object which specifies the parameters for this run of the algorithm.

Specified by:
setConfigProperties in class Algorithm
Parameters:
props - the parameters for this run of the algorithm

getAlgHTML

public java.lang.String getAlgHTML()
Get the HTML codes of the About page for ConstantString

Specified by:
getAlgHTML in class Algorithm
Returns:
an HTML formatted description of what the algorithm does.

getAlgURL

public java.lang.String getAlgURL()
Get the URL of the Help page for ConstantString

Specified by:
getAlgURL in class Algorithm
Returns:
a URL to the help.html file for the algorithm

getAuthor

public java.lang.String getAuthor()
Specifies the author of this algorithm.

Overrides:
getAuthor in class Algorithm
Returns:
the name of the author of the algorithm

getAuthorEmail

public java.lang.String getAuthorEmail()
Specifies the author's email address.

Overrides:
getAuthorEmail in class Algorithm
Returns:
the email address of the author of the algorithm

getDescription

public java.lang.String getDescription()
Specifies what this algorithm does.

Overrides:
getDescription in class Algorithm
Returns:
a brief description of the algorithm

display_VectorInfo

public static void display_VectorInfo(java.util.Vector vec,
                                      java.lang.String mesg)

embed

public void embed(ClassFileCollection input,
                  java.util.jar.JarOutputStream output,
                  java.util.Properties props)
           throws WatermarkingException,
                  java.io.IOException,
                  java.io.EOFException
Description copied from class: StaticWatermarker
Embed a watermark value into the program. The props argument holds at least the following properties:

Specified by:
embed in class StaticWatermarker
WatermarkingException
java.io.IOException
java.io.EOFException

recognize

public java.util.Iterator recognize(java.util.Properties props)
                             throws WatermarkingException,
                                    java.io.IOException
Specified by:
recognize in class StaticWatermarker
WatermarkingException
java.io.IOException

SandMark version 2.0

Mon Jun 17 12:30:47 MST 2002