com.perforce.p4java.impl.generic.core
Class ServerResource

java.lang.Object
  extended by com.perforce.p4java.impl.generic.core.ServerResource
All Implemented Interfaces:
IServerResource
Direct Known Subclasses:
BranchSpecSummary, ChangelistSummary, ClientSummary, Depot, FileSpec, Fix, Job, JobSpec, LabelSummary, ServerProcess, StreamSummary, UserGroup, UserSummary

public abstract class ServerResource
extends 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
protected  boolean refreshable
          Refreshable flag
protected  IServer server
          Server instance
protected  boolean updateable
          Updateable flag
 
Constructor Summary
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
 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 complete()
           
 void refresh()
          Refresh the underlying object from the Perforce server.
 void setRefreshable(boolean refreshable)
          Set the resource as refreshable
 void setServer(IServer server)
          Set the server associated with this resource.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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.


ServerResource

protected ServerResource(boolean refreshable,
                         boolean updateable)
Explicit some-value constructor; sets server to null.


ServerResource

protected ServerResource(boolean refreshable,
                         boolean updateable,
                         IServer server)
Explicit all-value constructor.

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 interface IServerResource
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 interface IServerResource
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
Throws:
ConnectionException
RequestException
AccessException
See Also:
com.perforce.p4java.core.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 interface IServerResource
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 request
AccessException - 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 interface IServerResource
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 request
AccessException - 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 interface IServerResource
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 request
AccessException - 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 interface IServerResource
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 request
AccessException - 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 -

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 interface IServerResource
Parameters:
server - IServer to be used for refresh, update, etc.
See Also:
IServerResource.setServer(com.perforce.p4java.server.IServer)


Copyright © 2015 Perforce Software. All Rights Reserved.