LibreOffice Module jvmfwk (master) 1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
jfw::MergedSettings Class Referencefinal

merges the settings for shared, user and installation during construction. More...

#include <elements.hxx>

Collaboration diagram for jfw::MergedSettings:
[legend]

Public Member Functions

 MergedSettings ()
 
 ~MergedSettings ()
 
bool getEnabled () const
 the default is true. More...
 
const OUString & getUserClassPath () const
 
::std::vector< OString > getVmParametersUtf8 () const
 
std::unique_ptr< JavaInfocreateJavaInfo () const
 returns a JavaInfo structure representing the node /java/javaInfo. More...
 
OString const & getJavaInfoAttrVendorUpdate () const
 returns the value of the attribute /java/javaInfo[@vendorUpdate]. More...
 
void getVmParametersArray (std::vector< OUString > *parParameters) const
 
const ::std::vector< OUString > & getJRELocations () const
 

Private Member Functions

MergedSettingsoperator= (MergedSettings const &)=delete
 
 MergedSettings (MergedSettings const &)=delete
 
void merge (const NodeJava &share, const NodeJava &user)
 

Private Attributes

bool m_bEnabled
 
OUString m_sClassPath
 
::std::vector< OUString > m_vmParams
 
::std::vector< OUString > m_JRELocations
 
CNodeJavaInfo m_javaInfo
 

Detailed Description

merges the settings for shared, user and installation during construction.

The class uses a simple merge mechanism for the javasettings.xml files in share and user. The following elements completely overwrite the corresponding elements from share: /java/enabled /java/userClassPath /java/vmParameters /java/jreLocations /java/javaInfo

In case of an installation, the shared and user settings are completely disregarded.

The locations of the different settings files is obtained through the bootstrap variables: UNO_JAVA_JFW_USER_DATA UNO_JAVA_JFW_SHARED_DATA

The class also determines useful default values for settings which have not been made.

Definition at line 265 of file elements.hxx.

Constructor & Destructor Documentation

◆ MergedSettings() [1/2]

jfw::MergedSettings::MergedSettings ( MergedSettings const &  )
privatedelete

◆ MergedSettings() [2/2]

jfw::MergedSettings::MergedSettings ( )

◆ ~MergedSettings()

jfw::MergedSettings::~MergedSettings ( )

Definition at line 904 of file elements.cxx.

Member Function Documentation

◆ createJavaInfo()

std::unique_ptr< JavaInfo > jfw::MergedSettings::createJavaInfo ( ) const

returns a JavaInfo structure representing the node /java/javaInfo.

Every time a new JavaInfo structure is created which needs to be freed by the caller. If both, user and share settings are nil, then NULL is returned.

Definition at line 950 of file elements.cxx.

References m_javaInfo, and jfw::CNodeJavaInfo::makeJavaInfo().

Referenced by jfw_getSelectedJRE(), and jfw_startVM().

◆ getEnabled()

bool jfw::MergedSettings::getEnabled ( ) const
inline

the default is true.

Definition at line 289 of file elements.hxx.

References m_bEnabled.

Referenced by jfw_getEnabled(), jfw_setEnabled(), and jfw_startVM().

◆ getJavaInfoAttrVendorUpdate()

OString const & jfw::MergedSettings::getJavaInfoAttrVendorUpdate ( ) const
inline

returns the value of the attribute /java/javaInfo[@vendorUpdate].

Definition at line 303 of file elements.hxx.

References m_javaInfo, and jfw::CNodeJavaInfo::sAttrVendorUpdate.

Referenced by jfw_getSelectedJRE(), and jfw_startVM().

◆ getJRELocations()

const ::std::vector< OUString > & jfw::MergedSettings::getJRELocations ( ) const
inline

Definition at line 316 of file elements.hxx.

References m_JRELocations.

Referenced by jfw_findAllJREs(), and jfw_findAndSelectJRE().

◆ getUserClassPath()

const OUString & jfw::MergedSettings::getUserClassPath ( ) const
inline

Definition at line 291 of file elements.hxx.

References m_sClassPath.

Referenced by jfw_getUserClassPath(), and jfw_startVM().

◆ getVmParametersArray()

void jfw::MergedSettings::getVmParametersArray ( std::vector< OUString > *  parParameters) const

Definition at line 960 of file elements.cxx.

References jfw::FwkMutex(), and m_vmParams.

Referenced by jfw_getVMParameters().

◆ getVmParametersUtf8()

std::vector< OString > jfw::MergedSettings::getVmParametersUtf8 ( ) const

Definition at line 939 of file elements.cxx.

References m_vmParams, and OUStringToOString().

Referenced by jfw_startVM().

◆ merge()

void jfw::MergedSettings::merge ( const NodeJava share,
const NodeJava user 
)
private

◆ operator=()

MergedSettings & jfw::MergedSettings::operator= ( MergedSettings const &  )
privatedelete

Member Data Documentation

◆ m_bEnabled

bool jfw::MergedSettings::m_bEnabled
private

Definition at line 273 of file elements.hxx.

Referenced by getEnabled(), and merge().

◆ m_javaInfo

CNodeJavaInfo jfw::MergedSettings::m_javaInfo
private

Definition at line 281 of file elements.hxx.

Referenced by createJavaInfo(), getJavaInfoAttrVendorUpdate(), and merge().

◆ m_JRELocations

::std::vector<OUString> jfw::MergedSettings::m_JRELocations
private

Definition at line 279 of file elements.hxx.

Referenced by getJRELocations(), and merge().

◆ m_sClassPath

OUString jfw::MergedSettings::m_sClassPath
private

Definition at line 275 of file elements.hxx.

Referenced by getUserClassPath(), and merge().

◆ m_vmParams

::std::vector<OUString> jfw::MergedSettings::m_vmParams
private

Definition at line 277 of file elements.hxx.

Referenced by getVmParametersArray(), getVmParametersUtf8(), and merge().


The documentation for this class was generated from the following files: