org.mmbase.util
Class MagicFile.Detector

java.lang.Object
  |
  +--org.mmbase.util.MagicFile.Detector
Enclosing class:
MagicFile

protected class MagicFile.Detector
extends java.lang.Object


Constructor Summary
MagicFile.Detector()
           
MagicFile.Detector(java.lang.String line)
           
 
Method Summary
 void addChild(MagicFile.Detector detector, int level)
          Add an embedded detector object that searches for more details after an initial match.
 char getComparator()
           
 java.lang.String getDesignation()
          todo: I noticed there is also a %5.5s variation in magic...
 java.lang.String getExtension()
           
 java.lang.String getMimeType()
           
 int getOffset()
           
 java.lang.String getRawInput()
           
 java.lang.String getTest()
           
 java.lang.String getType()
           
protected  void init()
           
protected  int nextNonWhiteSpace(java.lang.String s, int startIndex)
           
protected  int nextWhiteSpace(java.lang.String s)
           
protected  int nextWhiteSpace(java.lang.String s, int startIndex)
           
 void setComparator(char comparator)
           
 void setDesignation(java.lang.String designation)
           
 void setExtension(java.lang.String extension)
           
 void setMimeType(java.lang.String mimetype)
           
 void setOffset(java.lang.String offset)
           
 void setTest(java.lang.String test)
           
 void setType(java.lang.String type)
           
 boolean test(byte[] lithmus)
           
protected  boolean testByte(byte[] lithmus)
          Test whether a byte matches
protected  boolean testLong(byte[] lithmus, int endian)
          Test whether a long matches
protected  boolean testShort(byte[] lithmus, int endian)
          Test whether a short matches
protected  boolean testString(byte[] lithmus)
          Test whether a string matches
 java.lang.String toString()
           
 void toXML(java.io.FileWriter f)
          XML notatie: foo/bar bar blablabla test string etc
 void toXML(java.io.FileWriter f, int level)
           
 boolean valid()
           
protected  java.lang.String xmlEntities(java.lang.String s)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MagicFile.Detector

public MagicFile.Detector()

MagicFile.Detector

public MagicFile.Detector(java.lang.String line)
Method Detail

nextWhiteSpace

protected int nextWhiteSpace(java.lang.String s)

nextWhiteSpace

protected int nextWhiteSpace(java.lang.String s,
                             int startIndex)

nextNonWhiteSpace

protected int nextNonWhiteSpace(java.lang.String s,
                                int startIndex)

addChild

public void addChild(MagicFile.Detector detector,
                     int level)
Add an embedded detector object that searches for more details after an initial match.

init

protected void init()

setExtension

public void setExtension(java.lang.String extension)

getExtension

public java.lang.String getExtension()

setMimeType

public void setMimeType(java.lang.String mimetype)

getMimeType

public java.lang.String getMimeType()

setDesignation

public void setDesignation(java.lang.String designation)

setOffset

public void setOffset(java.lang.String offset)

getOffset

public int getOffset()

setType

public void setType(java.lang.String type)

getType

public java.lang.String getType()

setTest

public void setTest(java.lang.String test)

getTest

public java.lang.String getTest()

setComparator

public void setComparator(char comparator)

getComparator

public char getComparator()

test

public boolean test(byte[] lithmus)
Returns:
Whether detector matches the prefix/lithmus of the file

getDesignation

public java.lang.String getDesignation()
todo: I noticed there is also a %5.5s variation in magic...

valid

public boolean valid()
Returns:
Whether parsing of magic line for this detector succeeded

testString

protected boolean testString(byte[] lithmus)
Test whether a string matches

testShort

protected boolean testShort(byte[] lithmus,
                            int endian)
Test whether a short matches

testLong

protected boolean testLong(byte[] lithmus,
                           int endian)
Test whether a long matches

testByte

protected boolean testByte(byte[] lithmus)
Test whether a byte matches

getRawInput

public java.lang.String getRawInput()
Returns:
Original unprocessed input line

xmlEntities

protected java.lang.String xmlEntities(java.lang.String s)

toXML

public void toXML(java.io.FileWriter f)
           throws java.io.IOException
XML notatie: foo/bar bar blablabla test string etc

toXML

public void toXML(java.io.FileWriter f,
                  int level)
           throws java.io.IOException
Parameters:
level - Indicates depth of (child) element

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
Returns:
String representation of Detector object.


MMBase 2001