|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.perforce.p4java.impl.generic.core.file.PathAnnotations
public class PathAnnotations
Conveniently bundles up possible Perforce path-based metadata annotations and associated operations. This includes revision, label, changelist, and date annotations (at least). Most useful for converting to / from string representations associated with string file paths.
Field Summary | |
---|---|
protected int |
changelistId
|
protected Date |
date
|
protected int |
endRevision
|
protected String |
label
|
static String |
NONREV_PFX
The string used to start Perforce file label / changelist / date metadata annotations. |
static String |
REV_PFX
The string used to start Perforce file revision metadata annotations. |
static String |
REV_SEP
The string used to separate Perforce file revision metadata annotations. |
protected int |
startRevision
|
Constructor Summary | |
---|---|
PathAnnotations()
Construct a PathAnnotations object with default field values: startRev, endRev = IFileSpec.NO_FILE_REVISION; date, label = null; changelist = IChangelist.UNKNOWN. |
|
PathAnnotations(IFileSpec fileSpec)
Construct a PathAnnotations object for a specific file spec. |
|
PathAnnotations(int startRevision,
int endRevision,
Date date,
int changelistId,
String label)
Construct a PathAnnotations object from explicit candidate field values. |
|
PathAnnotations(String pathStr)
Construct a PathAnnotations object from the passed-in string, which is assumed to contain a path string with optional Perforce annotations. |
Method Summary | |
---|---|
static boolean |
extractNonRevisionData(String pathStr,
PathAnnotations pathAnnotations)
Extract any non-revision info from the passed-in pathStr and put it into the passed-in pathAnnotations object. |
static boolean |
extractRevisionData(String pathStr,
PathAnnotations pathAnnotations)
Extract any start / end revision info from the passed-in pathStr and put it into the passed-in pathAnnotations object. |
static PathAnnotations |
getAnnotations(String pathStr)
Get all Perforce metadata annotations from the passed-in string. |
int |
getChangelistId()
|
Date |
getDate()
|
int |
getEndRevision()
|
String |
getLabel()
|
int |
getStartRevision()
|
static int |
hasNonRevisionAnnotations(String pathStr)
Return non-negative index of first non-revision Perforce annotations match in the string if the passed-in string is not null and has label, changelist, date, etc., specs appended. |
static boolean |
hasPerforceAnnotations(String pathStr)
Return true if the passed-in path is not null and has Perforce file metadata appended to it. |
static int |
hasRevisionAnnotations(String pathStr)
Return non-negative index of first non-revision Perforce annotations match in the string if the passed-in string is not null has Perforce revision annotations appended to it. |
void |
setChangelistId(int changelistId)
|
void |
setDate(Date date)
|
void |
setEndRevision(int endRev)
|
void |
setLabel(String label)
|
void |
setStartRevision(int startRev)
|
static String |
stripAnnotations(String pathStr)
Strip any Perforce file metadata annotations from the passed-in string. |
String |
toString()
Return a Perforce-standard string representation of this annotation. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final String REV_PFX
public static final String REV_SEP
public static final String NONREV_PFX
protected int startRevision
protected int endRevision
protected Date date
protected int changelistId
protected String label
Constructor Detail |
---|
public PathAnnotations()
public PathAnnotations(int startRevision, int endRevision, Date date, int changelistId, String label)
public PathAnnotations(IFileSpec fileSpec)
public PathAnnotations(String pathStr)
Method Detail |
---|
public static String stripAnnotations(String pathStr)
public static PathAnnotations getAnnotations(String pathStr)
public static int hasRevisionAnnotations(String pathStr)
public static int hasNonRevisionAnnotations(String pathStr)
public static boolean hasPerforceAnnotations(String pathStr)
public static boolean extractRevisionData(String pathStr, PathAnnotations pathAnnotations)
If either or both pathStr and pathAnnotations is null, returns false.
public static boolean extractNonRevisionData(String pathStr, PathAnnotations pathAnnotations)
Note that the candidate string "@2009/09/12" is ambiguous -- it could be either a date or a label by a generous reading of the Perforce specs -- but we take the "if it looks like a duck..." approach here and parse it as a date if at all possible. Similarly for the string "@12345" which could be a changelist ID or a label ID -- we parse it as a changelist ID if at all possible.
If either or both pathStr and pathAnnotations is null, returns false.
public String toString()
toString
in class Object
public int getStartRevision()
public void setStartRevision(int startRev)
public int getEndRevision()
public void setEndRevision(int endRev)
public Date getDate()
public void setDate(Date date)
public int getChangelistId()
public void setChangelistId(int changelistId)
public String getLabel()
public void setLabel(String label)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |