Package com.iizix.run.common
Class CodeModifier
- java.lang.Object
-
- com.iizix.run.common.CodeModifier
-
public class CodeModifier extends java.lang.Object
Class to help with JS code modification in order to match the app settings.- Author:
- Christopher Mindus
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String[]
DOJO_LOCALES
The Dojo supported locales used for "extraLocales".static java.util.Set<java.lang.String>
dojoLocales
The hash set with Dojo locales.
-
Constructor Summary
Constructors Constructor Description CodeModifier()
Constructor with the settings.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
createSource_Build_JSON(RuntimeBuilderSettings settings, java.io.File appDir, boolean isVerbose)
Creates the "build.json" file.java.io.File
getClassPath(java.lang.Class<?> clazz)
Gets the classpath from a class.static java.lang.String
getDojoLanguageCode(java.lang.String languageCode)
Gets the locale that matches the Dojo locale if possible.java.io.File
getFile(java.lang.String name)
Gets a file from the resources.java.util.Map<java.lang.String,java.lang.String>
getLanguageStringsMap(RuntimeBuilderSettings settings)
Gets the English language strings required in "msg.js" for internal build or "msg-customized.js" for customized iiziRun's.java.util.zip.ZipFile
getZipFile(java.lang.String name)
Gets a ZIP file from the resources.static java.util.List<com.iizix.run.common.CodeModifier.Texts>
loadTextFile(java.io.File dir)
Loads the localized text entries from the files.protected java.net.URL
resolve(java.net.URL url)
Resolves the resources/dojo.zip from the URL.java.util.List<com.iizix.run.common.CodeModifier.Texts>
writeTextFile(java.io.File dir, RuntimeBuilderSettings settings)
Writes all the text's used in the app, for all text tables into an UTF-8 encoded file that is read later on by the pre-build processor to Android, iOS or Android.
-
-
-
Method Detail
-
getDojoLanguageCode
public static java.lang.String getDojoLanguageCode(java.lang.String languageCode)
Gets the locale that matches the Dojo locale if possible.- Parameters:
languageCode
- The language code.- Returns:
- The Dojo language code, or null for none.
-
resolve
protected java.net.URL resolve(java.net.URL url) throws java.io.IOException
Resolves the resources/dojo.zip from the URL.- Parameters:
url
- to the file "dojo.zip" in resources directory.- Returns:
- The resolved URL.
- Throws:
java.io.IOException
- For I/O errors.
-
getClassPath
public java.io.File getClassPath(java.lang.Class<?> clazz) throws java.io.IOException
Gets the classpath from a class.- Parameters:
clazz
- The class to check.- Returns:
- The File for the classpath.
- Throws:
java.io.IOException
- For I/O errors.
-
getFile
public java.io.File getFile(java.lang.String name) throws java.io.IOException
Gets a file from the resources.- Parameters:
name
- The name of the file.- Returns:
- The File.
- Throws:
java.io.IOException
- For I/O errors.
-
getZipFile
public java.util.zip.ZipFile getZipFile(java.lang.String name) throws java.io.IOException
Gets a ZIP file from the resources.- Parameters:
name
- The name of the ZIP file.- Returns:
- The ZipFile.
- Throws:
java.io.IOException
- For I/O errors.
-
getLanguageStringsMap
public java.util.Map<java.lang.String,java.lang.String> getLanguageStringsMap(RuntimeBuilderSettings settings) throws java.io.FileNotFoundException, java.io.IOException
Gets the English language strings required in "msg.js" for internal build or "msg-customized.js" for customized iiziRun's.- Parameters:
settings
- The settings, null if normal customized iiziRun's.- Returns:
- A new map of the strings, key is the text ID and the value is the text.
- Throws:
java.io.IOException
- For file errors.java.io.FileNotFoundException
-
writeTextFile
public java.util.List<com.iizix.run.common.CodeModifier.Texts> writeTextFile(java.io.File dir, RuntimeBuilderSettings settings) throws java.io.IOException
Writes all the text's used in the app, for all text tables into an UTF-8 encoded file that is read later on by the pre-build processor to Android, iOS or Android.- Parameters:
dir
- The root directory where "config.xml" is located.settings
- The settings.- Throws:
java.io.IOException
- For file errors.
-
loadTextFile
public static java.util.List<com.iizix.run.common.CodeModifier.Texts> loadTextFile(java.io.File dir) throws java.io.IOException
Loads the localized text entries from the files.- Parameters:
dir
- The app's root directory where "config.xml" is located.- Throws:
java.io.IOException
- For file errors.
-
createSource_Build_JSON
public java.lang.String createSource_Build_JSON(RuntimeBuilderSettings settings, java.io.File appDir, boolean isVerbose)
Creates the "build.json" file.- Parameters:
settings
- The settings.appDir
- The root of the Cordova app dir.- Returns:
- null for success, otherwise an error message that has been logged already.
-
-