Class ServerResource
- java.lang.Object
-
- com.perforce.p4java.impl.generic.core.ServerResource
-
- All Implemented Interfaces:
IServerResource
- Direct Known Subclasses:
BranchSpecSummary
,ChangelistSummary
,ClientSummary
,Depot
,ExtensionSummary
,FileSpec
,Fix
,Job
,JobSpec
,LabelSummary
,License
,LicenseLimits
,Repo
,ServerIPMACAddress
,ServerProcess
,Streamlog
,StreamSummary
,UserGroup
,UserSummary
public abstract class ServerResource extends java.lang.Object implements IServerResource
Abstract implementation class for the IServerResource interface.Implementations of interfaces that extend IServerResource should use this as a superclass unless there are good reasons not to.
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
refreshable
Refreshable flagprotected IServer
server
Server instanceprotected boolean
updateable
Updateable flag
-
Constructor Summary
Constructors Modifier Constructor Description protected
ServerResource()
Default constructor -- sets complete to true, completable, refreshable, and updateable to false, and server to null.protected
ServerResource(boolean refreshable, boolean updateable)
Explicit some-value constructor; sets server to null.protected
ServerResource(boolean refreshable, boolean updateable, IServer server)
Explicit all-value constructor.protected
ServerResource(IServer server)
Sets complete to true, completable, refreshable, and updateable to false, and server to the passed-in value.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canRefresh()
Returns true if the underlying object is refreshable from the Perforce server.boolean
canUpdate()
Returns true if the underlying object can be updated back to (or on) the associated Perforce server.void
clearRawFields()
Create new map and clear all fields.void
complete()
Old method called used to call refresh when completing a spec.java.lang.Object
getRawField(java.lang.String field)
Fetch a value from the raw spec map.java.util.Map<java.lang.String,java.lang.Object>
getRawFields()
Fetch the whole raw spec map.boolean
hasRawField(java.lang.String field)
Look for field in map.protected java.util.Date
parseDate(java.lang.String value)
void
refresh()
Refresh the underlying object from the Perforce server.void
setRawField(java.lang.String field, java.lang.Object value)
Enter Key/Pair for a spec field.void
setRawFields(java.util.Map<java.lang.String,java.lang.Object> map)
Add all elements in a map to the specvoid
setRefreshable(boolean refreshable)
Set the resource as refreshablevoid
setServer(IServer server)
Set the server associated with this resource.protected java.lang.String
toDateString(java.util.Date date)
void
update()
Update the Perforce server object associated with the underlying P4Java object, if possible.void
update(boolean force)
Force (if true) update the Perforce server object associated with the underlying P4Java object, if possible.void
update(Options opts)
Update the Perforce server object associated with the underlying P4Java object and its options, if possible.
-
-
-
Field Detail
-
refreshable
protected boolean refreshable
Refreshable flag
-
updateable
protected boolean updateable
Updateable flag
-
server
protected IServer server
Server instance
-
-
Constructor Detail
-
ServerResource
protected ServerResource()
Default constructor -- sets complete to true, completable, refreshable, and updateable to false, and server to null.
-
ServerResource
protected ServerResource(IServer server)
Sets complete to true, completable, refreshable, and updateable to false, and server to the passed-in value.- Parameters:
server
- server
-
ServerResource
protected ServerResource(boolean refreshable, boolean updateable)
Explicit some-value constructor; sets server to null.- Parameters:
refreshable
- refreshableupdateable
- updateable
-
ServerResource
protected ServerResource(boolean refreshable, boolean updateable, IServer server)
Explicit all-value constructor.- Parameters:
refreshable
- refreshableupdateable
- updateableserver
- server
-
-
Method Detail
-
canRefresh
public boolean canRefresh()
Description copied from interface:IServerResource
Returns true if the underlying object is refreshable from the Perforce server.The details of what "refreshable" means in this context are always object-dependent, but typically mean that "live" data and metadata will be updated from the server. This is especially useful on objects like changelists, where the underlying server-side data may change often outside P4Java's control.
- Specified by:
canRefresh
in interfaceIServerResource
- Returns:
- true if the underlying the object is refreshable.
- See Also:
IServerResource.canRefresh()
-
canUpdate
public boolean canUpdate()
Description copied from interface:IServerResource
Returns true if the underlying object can be updated back to (or on) the associated Perforce server. The semantics of server updates are generally object-specific.- Specified by:
canUpdate
in interfaceIServerResource
- Returns:
- true if the underlying object can be updated back to (or on) the associated Perforce server
- See Also:
IServerResource.canUpdate()
-
complete
public void complete() throws ConnectionException, RequestException, AccessException
Description copied from interface:IServerResource
Old method called used to call refresh when completing a spec.- Specified by:
complete
in interfaceIServerResource
- Throws:
ConnectionException
- when there is an error talking to the Helix serverRequestException
- when there is a problem with the data provided in the requestAccessException
- when access to the branch command is not authorised- See Also:
IServerResource.complete()
-
refresh
public void refresh() throws ConnectionException, RequestException, AccessException
Description copied from interface:IServerResource
Refresh the underlying object from the Perforce server.The details of what "refreshable" means in this context are always object-dependent, but typically mean that "live" data and metadata will be updated from the server.
The results of calling this method on objects whose canRefresh method returns false are undefined (but will generally result in a UnimplementedError being thrown).
- Specified by:
refresh
in interfaceIServerResource
- Throws:
ConnectionException
- if the Perforce server is unreachable or is not connected.RequestException
- if the Perforce server encounters an error during its processing of the requestAccessException
- if the Perforce server denies access to the caller- See Also:
IServerResource.refresh()
-
update
public void update() throws ConnectionException, RequestException, AccessException
Description copied from interface:IServerResource
Update the Perforce server object associated with the underlying P4Java object, if possible. The semantics of server updates are generally object-specific and will be spelled out for each participating object.The results of calling this method on objects whose canUpdate method returns false are undefined (but will generally result in a UnimplementedError being thrown).
- Specified by:
update
in interfaceIServerResource
- Throws:
ConnectionException
- if the Perforce server is unreachable or is not connected.RequestException
- if the Perforce server encounters an error during its processing of the requestAccessException
- if the Perforce server denies access to the caller- See Also:
IServerResource.update()
-
update
public void update(boolean force) throws ConnectionException, RequestException, AccessException
Description copied from interface:IServerResource
Force (if true) update the Perforce server object associated with the underlying P4Java object, if possible. The semantics of server updates are generally object-specific and will be spelled out for each participating object.Note, in order to force the change it may require super user / admin privileges to work properly.
The results of calling this method on objects whose canUpdate method returns false are undefined (but will generally result in a UnimplementedError being thrown).
- Specified by:
update
in interfaceIServerResource
- Parameters:
force
- if true, force the update of the object on the server.- Throws:
ConnectionException
- if the Perforce server is unreachable or is not connected.RequestException
- if the Perforce server encounters an error during its processing of the requestAccessException
- if the Perforce server denies access to the caller- See Also:
IServerResource.update(boolean)
-
update
public void update(Options opts) throws ConnectionException, RequestException, AccessException
Description copied from interface:IServerResource
Update the Perforce server object associated with the underlying P4Java object and its options, if possible. The semantics of server updates are generally object-specific and will be spelled out for each participating object.The results of calling this method on objects whose canUpdate method returns false are undefined (but will generally result in a UnimplementedError being thrown).
- Specified by:
update
in interfaceIServerResource
- Parameters:
opts
- Options object describing optional parameters; if null, no options are set.- Throws:
ConnectionException
- if the Perforce server is unreachable or is not connected.RequestException
- if the Perforce server encounters an error during its processing of the requestAccessException
- if the Perforce server denies access to the caller- See Also:
IServerResource.update(com.perforce.p4java.option.Options)
-
setRefreshable
public void setRefreshable(boolean refreshable)
Set the resource as refreshable- Parameters:
refreshable
- true if refreshable
-
setServer
public void setServer(IServer server)
Description copied from interface:IServerResource
Set the server associated with this resource. Setting this null can have bad effects down the line...- Specified by:
setServer
in interfaceIServerResource
- Parameters:
server
- IServer to be used for refresh, update, etc.- See Also:
IServerResource.setServer(com.perforce.p4java.server.IServer)
-
getRawField
public java.lang.Object getRawField(java.lang.String field)
Description copied from interface:IServerResource
Fetch a value from the raw spec map.- Specified by:
getRawField
in interfaceIServerResource
- Parameters:
field
- spec field- Returns:
- valuse as an Object
-
setRawField
public void setRawField(java.lang.String field, java.lang.Object value)
Description copied from interface:IServerResource
Enter Key/Pair for a spec field.- Specified by:
setRawField
in interfaceIServerResource
- Parameters:
field
- field kayvalue
- value
-
hasRawField
public boolean hasRawField(java.lang.String field)
Description copied from interface:IServerResource
Look for field in map.- Specified by:
hasRawField
in interfaceIServerResource
- Parameters:
field
- field name- Returns:
- true if field exists.
-
getRawFields
public java.util.Map<java.lang.String,java.lang.Object> getRawFields()
Description copied from interface:IServerResource
Fetch the whole raw spec map.- Specified by:
getRawFields
in interfaceIServerResource
- Returns:
- Spec Map
-
setRawFields
public void setRawFields(java.util.Map<java.lang.String,java.lang.Object> map)
Description copied from interface:IServerResource
Add all elements in a map to the spec- Specified by:
setRawFields
in interfaceIServerResource
- Parameters:
map
- field map
-
clearRawFields
public void clearRawFields()
Description copied from interface:IServerResource
Create new map and clear all fields.- Specified by:
clearRawFields
in interfaceIServerResource
-
parseDate
protected java.util.Date parseDate(java.lang.String value)
-
toDateString
protected java.lang.String toDateString(java.util.Date date)
-
-