org.eclipse.rse.core.model
Class Host
java.lang.Object
org.eclipse.rse.core.model.RSEPersistableObject
org.eclipse.rse.core.model.PropertySetContainer
org.eclipse.rse.core.model.RSEModelObject
org.eclipse.rse.core.model.Host
-
All Implemented Interfaces:
-
IAdaptable,
IHost,
IPropertySetContainer,
IRSEModelObject,
IRSEPersistableContainer
-
public class Host
- extends
RSEModelObject
- implements
IHost
Default implementation of the IHost
interface.
Dynamic system type providers may extend this implementation
if needed.
previousUserIdKey
protected
String previousUserIdKey
Host
public Host(
ISystemProfile profile)
- Constructor
setHostPool
public void setHostPool(
ISystemHostPool pool)
-
Description copied from interface:
IHost
- Set the parent connection pool this is owned by.
Connection pools are internal management objects, one per profile.
-
-
Specified by:
-
setHostPool
in interface
IHost
-
getHostPool
public
ISystemHostPool getHostPool()
-
Description copied from interface:
IHost
- Set the parent connection pool this is owned by.
Connection pools are internal management objects, one per profile.
-
-
Specified by:
-
getHostPool
in interface
IHost
-
getConnectorServices
public
IConnectorService[] getConnectorServices()
-
Description copied from interface:
IHost
- Returns all the connector services currently configured for this host
-
-
Specified by:
-
getConnectorServices
in interface
IHost
-
-
Returns:
- the connector services
getSubSystems
public
ISubSystem[] getSubSystems()
-
Description copied from interface:
IHost
- Return the subsystem instances under this connection.
Just a shortcut to
ISystemRegistry.getSubSystems(IHost)
-
-
Specified by:
-
getSubSystems
in interface
IHost
-
deletingHost
public void deletingHost()
-
Description copied from interface:
IHost
- Notification method called when this connection is being deleted.
Allows doing pre-death cleanup in overriders.
What we need to do is delete our entry in the preference store for our default userId.
-
-
Specified by:
-
deletingHost
in interface
IHost
-
renamingSystemProfile
public void renamingSystemProfile(
String oldName,
String newName)
-
Description copied from interface:
IHost
- Notification method called when this connection's profile is being renamed.
Allows doing pre-death cleanup in overriders.
Implementations must not fork off other threads in the implementation of this method,
since the old and new profiles will be locked during the rename operation so deadlock
could occur when another thread tries to access theprofile during the time of rename
ongoing.
What we need to do is rename our entry in the preference store for our default userId.
-
-
Specified by:
-
renamingSystemProfile
in interface
IHost
-
getSystemProfile
public
ISystemProfile getSystemProfile()
-
Description copied from interface:
IHost
- Return the system profile that owns this connection
-
-
Specified by:
-
getSystemProfile
in interface
IHost
-
-
Returns:
- the profile which contains this host
getSystemProfileName
public
String getSystemProfileName()
-
Description copied from interface:
IHost
- Return the name of the system profile that owns this connection
FIXME Check how this is different from getSystemProfile().getName()
-
-
Specified by:
-
getSystemProfileName
in interface
IHost
-
setAliasName
public void setAliasName(
String newName)
- Intercept of setAliasName so we can potentially rename the default-user-id key
for the preferences store. That key is profileName.connectionAliasName so is
affected when the alias name changes.
-
-
Specified by:
-
setAliasName
in interface
IHost
-
-
Parameters:
-
newName
- The new value of the AliasName attribute
setSystemType
public void setSystemType(
IRSESystemType systemType)
- Intercept of setSystemType so we can decide if the user ID is case sensitive
-
-
Specified by:
-
setSystemType
in interface
IHost
-
-
Parameters:
-
systemType
- The new value of the SystemType attribute
setHostName
public void setHostName(
String name)
- Intercept of setHostName so we can force it to uppercase.
IPv4 host names are case insensitive. Much data is stored using the host
name as part of the key. Therefore, the host name is capitalized here so that
these comparisons work naturally.
However, this must be done using the US locale since IPv4 host names
use can be compared using this locale. See RFC1035.
-
-
Specified by:
-
setHostName
in interface
IHost
-
-
Parameters:
-
name
- The new value of the HostName attribute
setDefaultUserId
public void setDefaultUserId(
String newId)
- Intercept of setDefaultUserId so we can force it to uppercase.
Also, we do not store the user Id per se in the attribute, but rather
we store it in the preference with a key name unique to this connection.
We store that key name in this attribute. However, this is all transparent to
the caller.
-
-
Specified by:
-
setDefaultUserId
in interface
IHost
-
-
Parameters:
-
newId
- The new value of the DefaultUserId attribute
getDefaultUserId
public
String getDefaultUserId()
-
Description copied from interface:
IHost
- Return the default user Id for this host.
Note that we don't store it directly in an attribute, as we don't want
the team to share it. The actual user Id is stored in the preference
store keyed by this connection's unique name (profile.connName) instead,
and that key is stored in this attribute.
Further, it is possible that there is no default user id. If so, this
method will go to the preference store and will try to get the default user
Id per this connection's system type.
This is all transparent to the caller though.
-
-
Specified by:
-
getDefaultUserId
in interface
IHost
-
-
Returns:
- The value of the DefaultUserId attribute
getLocalDefaultUserId
protected static
String getLocalDefaultUserId(
String key)
- Return the local default user Id without resolving up the food chain.
-
-
-
See Also:
-
getDefaultUserId()
getLocalDefaultUserId
public
String getLocalDefaultUserId()
-
Description copied from interface:
IHost
- Return the local default user Id without resolving up the food chain.
-
-
Specified by:
-
getLocalDefaultUserId
in interface
IHost
-
-
See Also:
-
IHost.getDefaultUserId()
clearLocalDefaultUserId
public void clearLocalDefaultUserId()
-
Description copied from interface:
IHost
- Clear the local default user Id so next query will return the value from
the preference store.
Same as calling setDefaultUserId(null)
-
-
Specified by:
-
clearLocalDefaultUserId
in interface
IHost
-
-
See Also:
-
IHost.setDefaultUserId(String)
getPreferencesKey
protected
String getPreferencesKey()
- Helper method to compute a unique name for a given subsystem instance
-
-
getPreferencesKey
protected
String getPreferencesKey(
String profileName)
- Helper method to compute a unique name for a given subsystem instance, given a profile name
-
-
getPreferencesKey
protected
String getPreferencesKey(
String profileName,
String connectionName)
- Helper method to compute a unique name for a given subsystem instance, given a profile name and connection name
-
-
setForceUserIdToUpperCase
public void setForceUserIdToUpperCase(boolean force)
- Call this with false to turn off the default behaviour of forcing the default userId to uppercase.
-
-
setUserIdCaseSensitive
public void setUserIdCaseSensitive(boolean caseSensitive)
- Call this to turn off the default behaviour of considering case when comparing userIds
-
-
getForceUserIdToUpperCase
public boolean getForceUserIdToUpperCase()
- Call this to query whether the default userId is to be uppercased.
-
-
Specified by:
-
getForceUserIdToUpperCase
in interface
IHost
-
-
Returns:
-
true
if the user id is to be uppercased.
getUserIdCaseSensitive
public boolean getUserIdCaseSensitive()
- Call this to query whether the default userId is case sensitive
-
-
compareUserIds
public boolean compareUserIds(
String userId1,
String userId2)
- Call this to compare two userIds taking case sensitivity
-
-
Specified by:
-
compareUserIds
in interface
IHost
-
-
Parameters:
-
userId1
- first id to compare -
userId2
- second id to compare
toString
public
String toString()
-
-
Overrides:
-
toString
in class
Object
-
getAdapter
public
Object getAdapter(
Class adapterType)
-
-
Specified by:
-
getAdapter
in interface
IAdaptable
-
getSystemType
public
IRSESystemType getSystemType()
-
Description copied from interface:
IHost
- Get the system type.
-
-
Specified by:
-
getSystemType
in interface
IHost
-
-
Returns:
- The value of the SystemType attribute
getName
public
String getName()
-
-
Specified by:
-
getName
in interface
IRSEModelObject
-
getAliasName
public
String getAliasName()
-
Description copied from interface:
IHost
- Get the unique user-visible connection name.
This is a key that is unique per connection pool.
-
-
Specified by:
-
getAliasName
in interface
IHost
-
-
Returns:
- The value of the AliasName attribute
getHostName
public
String getHostName()
-
Description copied from interface:
IHost
- Get the host name or IP address.
-
-
Specified by:
-
getHostName
in interface
IHost
-
-
Returns:
- The value of the HostName attribute
getDescription
public
String getDescription()
-
Description copied from interface:
IHost
- Return the description of this host.
-
-
Specified by:
-
getDescription
in interface
IHost
-
Specified by:
-
getDescription
in interface
IRSEModelObject
-
Overrides:
-
getDescription
in class
RSEModelObject
-
-
Returns:
- The value of the Description attribute
setDescription
public void setDescription(
String newDescription)
-
Description copied from interface:
IHost
- Set the description of this host.
-
-
Specified by:
-
setDescription
in interface
IHost
-
-
Parameters:
-
newDescription
- The new value of the Description attribute
isPromptable
public boolean isPromptable()
-
Description copied from interface:
IHost
- Check if this host is promptable.
-
-
Specified by:
-
isPromptable
in interface
IHost
-
-
Returns:
- The value of the Promptable attribute
setPromptable
public void setPromptable(boolean newPromptable)
-
Description copied from interface:
IHost
- Set the promptable attribute.
-
-
Specified by:
-
setPromptable
in interface
IHost
-
-
Parameters:
-
newPromptable
- The new value of the Promptable attribute
isOffline
public boolean isOffline()
-
Description copied from interface:
IHost
- Returns the value of the '
Offline
' attribute.
Query if this connection is offline or not.
If so, there is no live connection. Subsystems
decide how much to enable while offline.
It is up to each subsystem to honor this flag.
-
-
Specified by:
-
isOffline
in interface
IHost
-
-
Returns:
- the value of the 'Offline' attribute.
-
See Also:
-
IHost.setOffline(boolean)
setOffline
public void setOffline(boolean newOffline)
-
Description copied from interface:
IHost
- Specify if this connection is offline or not.
It is up to each subsystem to honor this flag.
-
-
Specified by:
-
setOffline
in interface
IHost
-
-
Parameters:
-
newOffline
- the new value of the 'Offline' attribute. -
See Also:
-
IHost.isOffline()
commit
public boolean commit()
-
Description copied from interface:
IRSEPersistableContainer
- Request a persistence manager to persist this object.
-
-
Specified by:
-
commit
in interface
IRSEPersistableContainer
-
-
Returns:
- true if the object was persisted.
getPersistableParent
public
IRSEPersistableContainer getPersistableParent()
-
Description copied from interface:
IRSEPersistableContainer
- Retrieve the parent of this object in the persistence containment hierarchy.
This is related to, but not necessarily the same as, the model hierarchy.
-
-
Specified by:
-
getPersistableParent
in interface
IRSEPersistableContainer
-
-
Returns:
- the parent persistent object. This is null if there is no parent.
getPersistableChildren
public
IRSEPersistableContainer[] getPersistableChildren()
-
Description copied from interface:
IRSEPersistableContainer
- Retrieves the children of this object in the persistence containment hierarchy.
This is related to, but not necessarily the same as, the model hierarchy.
-
-
Specified by:
-
getPersistableChildren
in interface
IRSEPersistableContainer
-
-
Returns:
- the array of persistent children in the order they are to be stored in the
persistent form. This is an empty array if there are no children.
See
IRSEPersistableContainer.NO_CHILDREN
.
getDefaultEncoding
public
String getDefaultEncoding(boolean fromRemote)
-
Description copied from interface:
IHost
- Returns the default encoding of the host.
If fromRemote is false
, returns an encoding preference
specified locally without querying the remote system (for example,
an encoding set by a user).
If fromRemote is true
, it first checks to see if there is
a local "overriding" encoding set by the client without querying the
remote system, and if such a "local" encoding preference does not exist,
returns the encoding that was set by the client by querying a remote system.
-
-
Specified by:
-
getDefaultEncoding
in interface
IHost
-
-
Parameters:
-
fromRemote
- false
to get the encoding that was
obtained by the client by not querying the remote system,
true
to also check the encoding, if needed, that was
set by the client after querying a remote system.
-
Returns:
- the default encoding of the host, or
null
if
no encoding was set. -
See Also:
-
IHost.setDefaultEncoding(String, boolean)
setDefaultEncoding
public void setDefaultEncoding(
String encoding,
boolean fromRemote)
-
Description copied from interface:
IHost
- Set the default encoding of the host.
This method can only be called when no subsystem is connected.
The client has to obtain the encoding either by querying the
remote system, or by some other means (for example, set by a user).
-
-
Specified by:
-
setDefaultEncoding
in interface
IHost
-
-
Parameters:
-
encoding
- the encoding of the host, or null
to erase the current encoding. -
fromRemote
- true
if the encoding is set by the
client after querying the remote system, or false
otherwise (e.g. setting a local user preference). -
See Also:
-
IHost.getDefaultEncoding(boolean)
Copyright (c) IBM Corporation and others 2000, 2008. All Rights Reserved.