org.blinkenlights.jid3.v2
Class POPMID3V2Frame

java.lang.Object
  extended byorg.blinkenlights.jid3.v2.ID3V2Frame
      extended byorg.blinkenlights.jid3.v2.POPMID3V2Frame
All Implemented Interfaces:
ID3Subject, ID3Visitable

public class POPMID3V2Frame
extends ID3V2Frame

Frame containing a popularimeter.


Constructor Summary
POPMID3V2Frame(java.io.InputStream oIS)
           
POPMID3V2Frame(java.lang.String sEmailToUser, int iPopularity)
          Creates a new instance of POPMID3V2Frame, not specifying the play count value.
POPMID3V2Frame(java.lang.String sEmailToUser, int iPopularity, int iPlayCount)
          Creates a new instance of POPMID3V2Frame.
 
Method Summary
 void accept(ID3Visitor oID3Visitor)
          Accept a visitor.
 boolean equals(java.lang.Object oOther)
           
 java.lang.String getEmailToUser()
          Get the email address of the user to be informed about the popularity of this track.
protected  byte[] getFrameId()
          Get the four bytes which uniquely specify of which type this frame is.
 int getPlayCount()
          Get the play count value for this track.
 int getPopularity()
          Get the popularity rating of this track (1=worst, 255=best, 0=unknown)
 void setPopularity(java.lang.String sEmailToUser, int iPopularity)
          Set the popularity values for this frame, not specifying a play count value.
 void setPopularity(java.lang.String sEmailToUser, int iPopularity, int iPlayCount)
          Set the popularity values for this frame.
 java.lang.String toString()
          Represent the contents of this frame as a string.
protected  void writeBody(ID3DataOutputStream oIDOS)
          Write the body of the frame to an ID3 data output stream.
 
Methods inherited from class org.blinkenlights.jid3.v2.ID3V2Frame
addID3Observer, getEncryptionMethod, isEncrypted, notifyID3Observers, removeID3Observer, setCompressionFlag, setEncryption, setFileAlterPreservationFlag, setGroupingIdentityFlag, setReadOnlyFlag, setTagAlterPreservationFlag, write, writeHeader
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

POPMID3V2Frame

public POPMID3V2Frame(java.lang.String sEmailToUser,
                      int iPopularity,
                      int iPlayCount)
               throws ID3Exception
Creates a new instance of POPMID3V2Frame.

Parameters:
sEmailToUser - the email address of the user to be informed of this track's popularity
iPopularity - the popularity rating of this track (1=worst, 255=best, 0=unknown)
iPlayCount - the current playcount of this file (must be positive)
Throws:
ID3Exception - if sEmailToUser not provided, or if either iPopularity or iPlayCount values are out of range

POPMID3V2Frame

public POPMID3V2Frame(java.lang.String sEmailToUser,
                      int iPopularity)
               throws ID3Exception
Creates a new instance of POPMID3V2Frame, not specifying the play count value.

Parameters:
sEmailToUser - the email address of the user to be informed of this track's popularity
iPopularity - the popularity rating of this track (1=worst, 255=best, 0=unknown)
Throws:
ID3Exception - if sEmailToUser not provided, or if either iPopularity or iPlayCount values are out of range

POPMID3V2Frame

public POPMID3V2Frame(java.io.InputStream oIS)
               throws ID3Exception
Method Detail

accept

public void accept(ID3Visitor oID3Visitor)
Description copied from interface: ID3Visitable
Accept a visitor.

Parameters:
oID3Visitor - a visitor of this object

setPopularity

public void setPopularity(java.lang.String sEmailToUser,
                          int iPopularity,
                          int iPlayCount)
                   throws ID3Exception
Set the popularity values for this frame.

Parameters:
sEmailToUser - the email address of the user to be informed of this track's popularity
iPopularity - the popularity rating of this track (1=worst, 255=best, 0=unknown)
iPlayCount - the current playcount of this file (must be positive)
Throws:
ID3Exception - if sEmailToUser not provided, or if either iPopularity or iPlayCount values are out of range
ID3Exception - if this frame is in a tag with another POPM frame which would have the same email address

setPopularity

public void setPopularity(java.lang.String sEmailToUser,
                          int iPopularity)
                   throws ID3Exception
Set the popularity values for this frame, not specifying a play count value.

Parameters:
sEmailToUser - the email address of the user to be informed of this track's popularity
iPopularity - the popularity rating of this track (1=worst, 255=best, 0=unknown)
Throws:
ID3Exception - if sEmailToUser not provided, or if either iPopularity or iPlayCount values are out of range
ID3Exception - if this frame is in a tag with another AENC frame which would have the same email address

getEmailToUser

public java.lang.String getEmailToUser()
Get the email address of the user to be informed about the popularity of this track.

Returns:
the email address of the user

getPopularity

public int getPopularity()
Get the popularity rating of this track (1=worst, 255=best, 0=unknown)

Returns:
the popularity of this track

getPlayCount

public int getPlayCount()
Get the play count value for this track.

Returns:
the play count for this track (-1 = not specified)

getFrameId

protected byte[] getFrameId()
Description copied from class: ID3V2Frame
Get the four bytes which uniquely specify of which type this frame is.

Specified by:
getFrameId in class ID3V2Frame

toString

public java.lang.String toString()
Description copied from class: ID3V2Frame
Represent the contents of this frame as a string. For debugging purposes.

Specified by:
toString in class ID3V2Frame
Returns:
a string representing this frame

writeBody

protected void writeBody(ID3DataOutputStream oIDOS)
                  throws java.io.IOException
Description copied from class: ID3V2Frame
Write the body of the frame to an ID3 data output stream.

Specified by:
writeBody in class ID3V2Frame
Parameters:
oIDOS - the output stream to write to
Throws:
java.io.IOException

equals

public boolean equals(java.lang.Object oOther)