1 /* 2 * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 #ifndef HELPERS_H 27 #define HELPERS_H 28 29 #include "Platform.h" 30 #include "OrderedMap.h" 31 #include "IniFile.h" 32 33 34 class Helpers { 35 private: Helpers(void)36 Helpers(void) {} ~Helpers(void)37 ~Helpers(void) {} 38 39 public: 40 // Supports two formats for option: 41 // Example 1: 42 // foo=bar 43 // 44 // Example 2: 45 // <name=foo=, value=goo> 46 static bool SplitOptionIntoNameValue(TString option, 47 TString& Name, TString& Value); 48 static TString ReplaceString(TString subject, const TString& search, 49 const TString& replace); 50 static TString ConvertIdToFilePath(TString Value); 51 static TString ConvertIdToJavaPath(TString Value); 52 static TString ConvertJavaPathToId(TString Value); 53 54 static OrderedMap<TString, TString> 55 GetJavaOptionsFromConfig(IPropertyContainer* config); 56 static std::list<TString> GetArgsFromConfig(IPropertyContainer* config); 57 58 static std::list<TString> 59 MapToNameValueList(OrderedMap<TString, TString> Map); 60 61 static TString NameValueToString(TString name, TString value); 62 63 static std::list<TString> StringToArray(TString Value); 64 }; 65 66 #endif // HELPERS_H 67