com.perforce.p4java.impl.generic.core.file
Class FileAnnotation

java.lang.Object
  extended by com.perforce.p4java.impl.generic.core.file.FileAnnotation
All Implemented Interfaces:
IFileAnnotation

public class FileAnnotation
extends Object
implements IFileAnnotation

Simple generic implementation class for IFileAnnotation interface.


Constructor Summary
FileAnnotation(int upper, int lower, String depotPath, String line, IClientSummary.ClientLineEnd lineEnd)
          Default all-field constructor.
FileAnnotation(int order, String depotPath, int upper, int lower)
          Create a new non-data file annotation with the passed-in parameters.
FileAnnotation(Map<String,Object> map, String depotPath, IClientSummary.ClientLineEnd lineEnd)
          Construct a suitable FileAnnotation object from the passed-in map; this map must be in the format and use the fields returned from a Perforce server annotate command.
 
Method Summary
 void addIntegrationAnnotation(IFileAnnotation annotation)
          Add an integration annotation to the contributingSources list.
 List<IFileAnnotation> getAllIntegrations()
          Get a list of all contributing integration annotations for this annotation, if such a list exists.
 String getDepotPath()
          Get the associated depot path for this annotation, if one is available.
 String getLine()
          Get the line being annotated.
 String getLine(boolean processLineEndings)
          Get the line being annotated, with optional line ending processing based on client settings (if available).
 IClientSummary.ClientLineEnd getLineEnd()
           
 int getLower()
          Get the lower version or change number for the associated annotation.
 int getOrdering()
          Get the ordering of this annotation in the associated allIntegrations list, if it exists.
 int getUpper()
          Get the upper version or change number for the associated annotation.
 void setDepotPath(String depotPath)
           
 void setLine(String line)
           
 void setLineEnd(IClientSummary.ClientLineEnd lineEnd)
           
 void setLower(int lower)
           
 FileAnnotation setOrdering(int ordering)
           
 void setUpper(int upper)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileAnnotation

public FileAnnotation(int upper,
                      int lower,
                      String depotPath,
                      String line,
                      IClientSummary.ClientLineEnd lineEnd)
Default all-field constructor.


FileAnnotation

public FileAnnotation(Map<String,Object> map,
                      String depotPath,
                      IClientSummary.ClientLineEnd lineEnd)
Construct a suitable FileAnnotation object from the passed-in map; this map must be in the format and use the fields returned from a Perforce server annotate command.

Leave lineEnd null for normal use.


FileAnnotation

public FileAnnotation(int order,
                      String depotPath,
                      int upper,
                      int lower)
Create a new non-data file annotation with the passed-in parameters.

Method Detail

addIntegrationAnnotation

public void addIntegrationAnnotation(IFileAnnotation annotation)
Add an integration annotation to the contributingSources list. If the list is null, a new list will be created; otherwise it's added to the end of the list.


getDepotPath

public String getDepotPath()
Description copied from interface: IFileAnnotation
Get the associated depot path for this annotation, if one is available. May be null in certain (very unusual) circumstances.

Specified by:
getDepotPath in interface IFileAnnotation
See Also:
IFileAnnotation.getDepotPath()

getLine

public String getLine()
Description copied from interface: IFileAnnotation
Get the line being annotated. This will not include the associated newline character or any line ending processing, but may include any embedded carriage return characters if they exist.

The returned line will never be null, but may be empty.

Specified by:
getLine in interface IFileAnnotation
See Also:
IFileAnnotation.getLine()

getLine

public String getLine(boolean processLineEndings)
Description copied from interface: IFileAnnotation
Get the line being annotated, with optional line ending processing based on client settings (if available). This method is aimed mostly at P4Eclipse and other specialized usage where file content lines need to be matched or compared with sync'd file contents (etc.), and may not be particularly useful for general users: when in doubt, use the simple getLine() method instead.

The returned line will never be null, but may be empty.

Specified by:
getLine in interface IFileAnnotation
Parameters:
processLineEndings - if true, and if a client is associated with this annotation (i.e. it was created by one of the IServer or IFileSpec annotation methods, and a client was associated with the server at the time the IServer or IFileSpec call was made), the returned string will attempt to honor client line end settings where possible; if there are no available settings, the local line ending is appended. If processLineEndings is not true, the results are identical to calling the no-argument getLine method.
See Also:
IFileAnnotation.getLine(boolean)

getAllIntegrations

public List<IFileAnnotation> getAllIntegrations()
Description copied from interface: IFileAnnotation
Get a list of all contributing integration annotations for this annotation, if such a list exists. In the absence of the use of the GetFileAnnotationsOptions followAllIntegrations option (corresponding to annotate -I), this method will always return null; otherwise, if it is not null, it will contain a list of IFileAnnotation objects representing the contributing integrations. These IFileAnnotation objects will have a non-negative ordering (see getOrdering()), and null line data.

Specified by:
getAllIntegrations in interface IFileAnnotation
Returns:
possibly-null list of contributing integrations.
See Also:
com.perforce.p4java.core.file.IFileAnnotation#getContributingSources()

getLower

public int getLower()
Description copied from interface: IFileAnnotation
Get the lower version or change number for the associated annotation.

Specified by:
getLower in interface IFileAnnotation
See Also:
IFileAnnotation.getLower()

getUpper

public int getUpper()
Description copied from interface: IFileAnnotation
Get the upper version or change number for the associated annotation.

Specified by:
getUpper in interface IFileAnnotation
See Also:
IFileAnnotation.getUpper()

setUpper

public void setUpper(int upper)

setLower

public void setLower(int lower)

setDepotPath

public void setDepotPath(String depotPath)

setLine

public void setLine(String line)

getLineEnd

public IClientSummary.ClientLineEnd getLineEnd()

setLineEnd

public void setLineEnd(IClientSummary.ClientLineEnd lineEnd)

getOrdering

public int getOrdering()
Description copied from interface: IFileAnnotation
Get the ordering of this annotation in the associated allIntegrations list, if it exists. If the returned value is -1, this annotation is not part of an integrations list (and is therefore a data annotation).

Specified by:
getOrdering in interface IFileAnnotation

setOrdering

public FileAnnotation setOrdering(int ordering)


Copyright © 2015 Perforce Software. All Rights Reserved.