org.jaudiotagger.tag.id3.framebody
Class FrameBodyTDRC

java.lang.Object
  extended by org.jaudiotagger.tag.id3.AbstractTagItem
      extended by org.jaudiotagger.tag.id3.AbstractTagFrameBody
          extended by org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody
              extended by org.jaudiotagger.tag.id3.framebody.AbstractFrameBodyTextInfo
                  extended by org.jaudiotagger.tag.id3.framebody.FrameBodyTDRC
All Implemented Interfaces:
ID3v24FrameBody

public class FrameBodyTDRC
extends AbstractFrameBodyTextInfo
implements ID3v24FrameBody


Field Summary
private  java.lang.String date
           
private static java.text.SimpleDateFormat formatDateIn
           
private static java.text.SimpleDateFormat formatDateOut
           
private static java.text.SimpleDateFormat formatHoursOut
           
private static java.text.SimpleDateFormat formatMonthOut
           
private static java.util.List<java.text.SimpleDateFormat> formatters
           
private static java.text.SimpleDateFormat formatTimeIn
           
private static java.text.SimpleDateFormat formatTimeOut
           
private static java.text.SimpleDateFormat formatYearIn
           
private static java.text.SimpleDateFormat formatYearOut
           
private  boolean hoursOnly
           
private  boolean monthOnly
           
private  java.lang.String originalID
          Used when converting from v3 tags , these fields should ALWAYS hold the v23 value
private static int PRECISION_DAY
           
private static int PRECISION_HOUR
           
private static int PRECISION_MINUTE
           
private static int PRECISION_MONTH
           
private static int PRECISION_SECOND
           
private static int PRECISION_YEAR
           
private  java.lang.String time
           
private  java.lang.String year
           
 
Fields inherited from class org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody
TYPE_BODY
 
Fields inherited from class org.jaudiotagger.tag.id3.AbstractTagFrameBody
objectList
 
Fields inherited from class org.jaudiotagger.tag.id3.AbstractTagItem
logger
 
Constructor Summary
FrameBodyTDRC()
          Creates a new FrameBodyTDRC datatype.
FrameBodyTDRC(java.nio.ByteBuffer byteBuffer, int frameSize)
          Creates a new FrameBodyTDRC datatype from File
FrameBodyTDRC(byte textEncoding, java.lang.String text)
          Creates a new FrameBodyTDRC dataType.
FrameBodyTDRC(FrameBodyTDAT body)
          When converting v3 TDAT to v4 TDRC frame
FrameBodyTDRC(FrameBodyTDRC body)
           
FrameBodyTDRC(FrameBodyTIME body)
          When converting v3 TIME to v4 TDRC frame
FrameBodyTDRC(FrameBodyTYER body)
          When converting v3 TYER to v4 TDRC frame
 
Method Summary
private  void extractID3v23Formats(java.util.Date dateRecord, int precision)
          Extract the components ans store the v23 version of the various values
private  void findMatchingMaskAndExtractV3Values()
           
private static java.lang.String formatAndParse(java.text.SimpleDateFormat formatDate, java.text.SimpleDateFormat parseDate, java.lang.String text)
          Synchronized because SimpleDatFormat aren't thread safe
private static java.lang.String formatDateAsDate(java.util.Date d)
          Format Date Synchronized because SimpleDateFormat is invalid
private static java.lang.String formatDateAsTime(java.util.Date d)
          Format Date Synchronized because SimpleDateFormat is invalid
private static java.lang.String formatDateAsYear(java.util.Date d)
          Format Date Synchronized because SimpleDateFormat is invalid
 java.lang.String getDate()
           
 java.lang.String getFormattedText()
           
 java.lang.String getIdentifier()
          The ID3v2 frame identifier
 java.lang.String getOriginalID()
          Retrieve the original identifier
 java.lang.String getTime()
           
 java.lang.String getYear()
           
 boolean isHoursOnly()
           
 boolean isMonthOnly()
           
 void setDate(java.lang.String date)
           
 void setHoursOnly(boolean hoursOnly)
           
 void setMonthOnly(boolean monthOnly)
           
 void setTime(java.lang.String time)
           
 void setYear(java.lang.String year)
           
 
Methods inherited from class org.jaudiotagger.tag.id3.framebody.AbstractFrameBodyTextInfo
addTextValue, getFirstTextValue, getNumberOfValues, getText, getTextWithoutTrailingNulls, getUserFriendlyValue, getValueAtIndex, setText, setupObjectList, write
 
Methods inherited from class org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody
createStructure, equals, getSize, read, setSize, setSize
 
Methods inherited from class org.jaudiotagger.tag.id3.AbstractTagFrameBody
getBriefDescription, getHeader, getLongDescription, getObject, getObjectValue, getTextEncoding, isSubsetOf, iterator, setHeader, setObjectValue, setTextEncoding, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

originalID

private java.lang.String originalID
Used when converting from v3 tags , these fields should ALWAYS hold the v23 value


year

private java.lang.String year

time

private java.lang.String time

date

private java.lang.String date

monthOnly

private boolean monthOnly

hoursOnly

private boolean hoursOnly

formatYearIn

private static java.text.SimpleDateFormat formatYearIn

formatYearOut

private static java.text.SimpleDateFormat formatYearOut

formatDateIn

private static java.text.SimpleDateFormat formatDateIn

formatDateOut

private static java.text.SimpleDateFormat formatDateOut

formatMonthOut

private static java.text.SimpleDateFormat formatMonthOut

formatTimeIn

private static java.text.SimpleDateFormat formatTimeIn

formatTimeOut

private static java.text.SimpleDateFormat formatTimeOut

formatHoursOut

private static java.text.SimpleDateFormat formatHoursOut

formatters

private static final java.util.List<java.text.SimpleDateFormat> formatters

PRECISION_SECOND

private static final int PRECISION_SECOND
See Also:
Constant Field Values

PRECISION_MINUTE

private static final int PRECISION_MINUTE
See Also:
Constant Field Values

PRECISION_HOUR

private static final int PRECISION_HOUR
See Also:
Constant Field Values

PRECISION_DAY

private static final int PRECISION_DAY
See Also:
Constant Field Values

PRECISION_MONTH

private static final int PRECISION_MONTH
See Also:
Constant Field Values

PRECISION_YEAR

private static final int PRECISION_YEAR
See Also:
Constant Field Values
Constructor Detail

FrameBodyTDRC

public FrameBodyTDRC()
Creates a new FrameBodyTDRC datatype.


FrameBodyTDRC

public FrameBodyTDRC(FrameBodyTDRC body)

FrameBodyTDRC

public FrameBodyTDRC(FrameBodyTYER body)
When converting v3 TYER to v4 TDRC frame

Parameters:
body -

FrameBodyTDRC

public FrameBodyTDRC(FrameBodyTIME body)
When converting v3 TIME to v4 TDRC frame

Parameters:
body -

FrameBodyTDRC

public FrameBodyTDRC(FrameBodyTDAT body)
When converting v3 TDAT to v4 TDRC frame

Parameters:
body -

FrameBodyTDRC

public FrameBodyTDRC(byte textEncoding,
                     java.lang.String text)
Creates a new FrameBodyTDRC dataType. Tries to decode the text to find the v24 date mask being used, and store the v3 components of the mask

Parameters:
textEncoding -
text -

FrameBodyTDRC

public FrameBodyTDRC(java.nio.ByteBuffer byteBuffer,
                     int frameSize)
              throws InvalidTagException
Creates a new FrameBodyTDRC datatype from File

Parameters:
byteBuffer -
frameSize -
Throws:
InvalidTagException
Method Detail

getOriginalID

public java.lang.String getOriginalID()
Retrieve the original identifier

Returns:

formatAndParse

private static java.lang.String formatAndParse(java.text.SimpleDateFormat formatDate,
                                               java.text.SimpleDateFormat parseDate,
                                               java.lang.String text)
Synchronized because SimpleDatFormat aren't thread safe

Parameters:
formatDate -
parseDate -
text -
Returns:

getFormattedText

public java.lang.String getFormattedText()

setYear

public void setYear(java.lang.String year)

setTime

public void setTime(java.lang.String time)

setDate

public void setDate(java.lang.String date)

getYear

public java.lang.String getYear()

getTime

public java.lang.String getTime()

getDate

public java.lang.String getDate()

findMatchingMaskAndExtractV3Values

private void findMatchingMaskAndExtractV3Values()

formatDateAsYear

private static java.lang.String formatDateAsYear(java.util.Date d)
Format Date Synchronized because SimpleDateFormat is invalid

Parameters:
d -
Returns:

formatDateAsDate

private static java.lang.String formatDateAsDate(java.util.Date d)
Format Date Synchronized because SimpleDateFormat is invalid

Parameters:
d -
Returns:

formatDateAsTime

private static java.lang.String formatDateAsTime(java.util.Date d)
Format Date Synchronized because SimpleDateFormat is invalid

Parameters:
d -
Returns:

extractID3v23Formats

private void extractID3v23Formats(java.util.Date dateRecord,
                                  int precision)
Extract the components ans store the v23 version of the various values

Parameters:
dateRecord -
precision -

getIdentifier

public java.lang.String getIdentifier()
The ID3v2 frame identifier

Specified by:
getIdentifier in class AbstractID3v2FrameBody
Returns:
the ID3v2 frame identifier for this frame type

isMonthOnly

public boolean isMonthOnly()

setMonthOnly

public void setMonthOnly(boolean monthOnly)

isHoursOnly

public boolean isHoursOnly()

setHoursOnly

public void setHoursOnly(boolean hoursOnly)


Copyright © 2005-2010 java.net. All Rights Reserved.