Package org.apache.guacamole.environment
Class LocalEnvironment
- java.lang.Object
 - 
- org.apache.guacamole.environment.LocalEnvironment
 
 
- 
- All Implemented Interfaces:
 Environment
public class LocalEnvironment extends Object implements Environment
The environment of the locally-running Guacamole instance, describing available protocols, configuration parameters, and the GUACAMOLE_HOME directory. Sources of configuration properties like guacamole.properties and environment variables will be automatically added by the Guacamole web application and may also be added by extensions usingaddGuacamoleProperties(org.apache.guacamole.properties.GuacamoleProperties). 
- 
- 
Field Summary
- 
Fields inherited from interface org.apache.guacamole.environment.Environment
GUACD_HOSTNAME, GUACD_PORT, GUACD_SSL 
 - 
 
- 
Constructor Summary
Constructors Constructor Description LocalEnvironment()Deprecated.Extensions leveraging LocalEnvironment should instead use LocalEnvironment.getInstance() to obtain a singleton instance of the environment. 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddGuacamoleProperties(GuacamoleProperties properties)Adds another possible source of Guacamole configuration properties to this Environment.GuacamoleProxyConfigurationgetDefaultGuacamoleProxyConfiguration()Returns the connection information which should be used, by default, to connect to guacd when establishing a remote desktop connection.FilegetGuacamoleHome()Returns the Guacamole home directory as determined when this Environment object was created.static LocalEnvironmentgetInstance()Returns a singleton instance of LocalEnvironment which may be shared by the Guacamole web application and all extensions.<Type> TypegetProperty(GuacamoleProperty<Type> property)Given a GuacamoleProperty, parses and returns the value set for that property in guacamole.properties, if any.<Type> TypegetProperty(GuacamoleProperty<Type> property, Type defaultValue)Given a GuacamoleProperty, parses and returns the value set for that property in guacamole.properties, if any.ProtocolInfogetProtocol(String name)Returns the protocol having the given name.Map<String,ProtocolInfo>getProtocols()Returns a map of all available protocols, where each key is the name of that protocol as would be passed to guacd during connection.<Type> TypegetRequiredProperty(GuacamoleProperty<Type> property)Given a GuacamoleProperty, parses and returns the value set for that property in guacamole.properties. 
 - 
 
- 
- 
Constructor Detail
- 
LocalEnvironment
@Deprecated public LocalEnvironment()
Deprecated.Extensions leveraging LocalEnvironment should instead use LocalEnvironment.getInstance() to obtain a singleton instance of the environment.Creates a new LocalEnvironment, initializing that environment based on the contents of GUACAMOLE_HOME. Sources of configuration properties like guacamole.properties and environment variables will be automatically added by the Guacamole web application and/or any installed extensions. 
 - 
 
- 
Method Detail
- 
getInstance
public static LocalEnvironment getInstance()
Returns a singleton instance of LocalEnvironment which may be shared by the Guacamole web application and all extensions.- Returns:
 - A singleton instance of this class.
 
 
- 
getGuacamoleHome
public File getGuacamoleHome()
Description copied from interface:EnvironmentReturns the Guacamole home directory as determined when this Environment object was created. The Guacamole home directory is found by checking, in order: the guacamole.home system property, the GUACAMOLE_HOME environment variable, and finally the .guacamole directory in the home directory of the user running the servlet container.- Specified by:
 getGuacamoleHomein interfaceEnvironment- Returns:
 - The File representing the Guacamole home directory, which may or may not exist, and may turn out to not be a directory.
 
 
- 
getProperty
public <Type> Type getProperty(GuacamoleProperty<Type> property) throws org.apache.guacamole.GuacamoleException
Description copied from interface:EnvironmentGiven a GuacamoleProperty, parses and returns the value set for that property in guacamole.properties, if any.- Specified by:
 getPropertyin interfaceEnvironment- Type Parameters:
 Type- The type that the given property is parsed into.- Parameters:
 property- The property to read from guacamole.properties.- Returns:
 - The parsed value of the property as read from guacamole.properties.
 - Throws:
 org.apache.guacamole.GuacamoleException- If an error occurs while parsing the value for the given property in guacamole.properties.
 
- 
getProperty
public <Type> Type getProperty(GuacamoleProperty<Type> property, Type defaultValue) throws org.apache.guacamole.GuacamoleException
Description copied from interface:EnvironmentGiven a GuacamoleProperty, parses and returns the value set for that property in guacamole.properties, if any. If no value is found, the provided default value is returned.- Specified by:
 getPropertyin interfaceEnvironment- Type Parameters:
 Type- The type that the given property is parsed into.- Parameters:
 property- The property to read from guacamole.properties.defaultValue- The value to return if no value was given in guacamole.properties.- Returns:
 - The parsed value of the property as read from guacamole.properties, or the provided default value if no value was found.
 - Throws:
 org.apache.guacamole.GuacamoleException- If an error occurs while parsing the value for the given property in guacamole.properties.
 
- 
getRequiredProperty
public <Type> Type getRequiredProperty(GuacamoleProperty<Type> property) throws org.apache.guacamole.GuacamoleException
Description copied from interface:EnvironmentGiven a GuacamoleProperty, parses and returns the value set for that property in guacamole.properties. An exception is thrown if the value is not provided.- Specified by:
 getRequiredPropertyin interfaceEnvironment- Type Parameters:
 Type- The type that the given property is parsed into.- Parameters:
 property- The property to read from guacamole.properties.- Returns:
 - The parsed value of the property as read from guacamole.properties.
 - Throws:
 org.apache.guacamole.GuacamoleException- If an error occurs while parsing the value for the given property in guacamole.properties, or if the property is not specified.
 
- 
getProtocols
public Map<String,ProtocolInfo> getProtocols()
Description copied from interface:EnvironmentReturns a map of all available protocols, where each key is the name of that protocol as would be passed to guacd during connection.- Specified by:
 getProtocolsin interfaceEnvironment- Returns:
 - A map of all available protocols.
 
 
- 
getProtocol
public ProtocolInfo getProtocol(String name)
Description copied from interface:EnvironmentReturns the protocol having the given name. The name must be the protocol name as would be passed to guacd during connection.- Specified by:
 getProtocolin interfaceEnvironment- Parameters:
 name- The name of the protocol.- Returns:
 - The protocol having the given name, or null if no such protocol is registered.
 
 
- 
getDefaultGuacamoleProxyConfiguration
public GuacamoleProxyConfiguration getDefaultGuacamoleProxyConfiguration() throws org.apache.guacamole.GuacamoleException
Description copied from interface:EnvironmentReturns the connection information which should be used, by default, to connect to guacd when establishing a remote desktop connection.- Specified by:
 getDefaultGuacamoleProxyConfigurationin interfaceEnvironment- Returns:
 - The connection information which should be used, by default, to connect to guacd.
 - Throws:
 org.apache.guacamole.GuacamoleException- If the the connection information for guacd cannot be retrieved.
 
- 
addGuacamoleProperties
public void addGuacamoleProperties(GuacamoleProperties properties)
Description copied from interface:EnvironmentAdds another possible source of Guacamole configuration properties to this Environment. Properties not already defined by other sources of Guacamole configuration properties will alternatively be read from the givenGuacamoleProperties.- Specified by:
 addGuacamolePropertiesin interfaceEnvironment- Parameters:
 properties- The GuacamoleProperties to add to this Environment.
 
 - 
 
 -