From a1df68e2138e2260a5191dc9bd56f5cfc07316fa Mon Sep 17 00:00:00 2001 From: Wilson Lin Date: Wed, 26 Aug 2020 13:15:32 +1000 Subject: [PATCH] [java] Move inner classes to package level --- java/pom.xml | 3 ++ .../in/wilsonl/minifyhtml/Configuration.java | 28 +++++++++++++ .../in/wilsonl/minifyhtml/MinifyHtml.java | 40 +------------------ .../wilsonl/minifyhtml/SyntaxException.java | 10 +++++ java/src/main/rust/lib.rs | 6 ++- 5 files changed, 47 insertions(+), 40 deletions(-) create mode 100644 java/src/main/java/in/wilsonl/minifyhtml/Configuration.java create mode 100644 java/src/main/java/in/wilsonl/minifyhtml/SyntaxException.java diff --git a/java/pom.xml b/java/pom.xml index 19046f8..23baa11 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -80,6 +80,9 @@ org.apache.maven.plugins maven-javadoc-plugin 2.9.1 + + ${java.version} + attach-javadocs diff --git a/java/src/main/java/in/wilsonl/minifyhtml/Configuration.java b/java/src/main/java/in/wilsonl/minifyhtml/Configuration.java new file mode 100644 index 0000000..da8bee1 --- /dev/null +++ b/java/src/main/java/in/wilsonl/minifyhtml/Configuration.java @@ -0,0 +1,28 @@ +package in.wilsonl.minifyhtml; + +/** + * Class representing minification configuration. + */ +public class Configuration { + private final boolean minifyJs; + + public Configuration(boolean minifyJs) { + this.minifyJs = minifyJs; + } + + /** + * Builder to help create configuration. + */ + public static class Builder { + private boolean minifyJs = false; + + public Builder setMinifyJs(boolean minifyJs) { + this.minifyJs = minifyJs; + return this; + } + + public Configuration build() { + return new Configuration(this.minifyJs); + } + } +} diff --git a/java/src/main/java/in/wilsonl/minifyhtml/MinifyHtml.java b/java/src/main/java/in/wilsonl/minifyhtml/MinifyHtml.java index 0d757b7..09ca072 100644 --- a/java/src/main/java/in/wilsonl/minifyhtml/MinifyHtml.java +++ b/java/src/main/java/in/wilsonl/minifyhtml/MinifyHtml.java @@ -53,7 +53,7 @@ public class MinifyHtml { * If the code fails to be minified, a {@link SyntaxException} will be thrown with a descriptive English message and position in code where the error occurred. * * @param code {@link ByteBuffer} containing HTML code to minify - * @param cfg {@link Configuration} minification settings to use + * @param cfg {@link Configuration} minification settings to use * @return length of the written minified code in the {@link ByteBuffer} */ public static native int minifyInPlace(ByteBuffer code, Configuration cfg); @@ -64,44 +64,8 @@ public class MinifyHtml { * If the code fails to be minified, a {@link SyntaxException} will be thrown with a descriptive English message and position in code where the error occurred. * * @param code HTML code to minify - * @param cfg {@link Configuration} minification settings to use + * @param cfg {@link Configuration} minification settings to use * @return minified HTML code */ public static native String minify(String code, Configuration cfg); - - /** - * Basic exception class representing minification errors. - */ - public static class SyntaxException extends RuntimeException { - private SyntaxException(String message) { - super(message); - } - } - - /** - * Class representing minification configuration. - */ - public static class Configuration { - private final boolean minifyJs; - - public Configuration(boolean minifyJs) { - this.minifyJs = minifyJs; - } - - /** - * Builder to help create configuration. - */ - public static class Builder { - private boolean minifyJs = false; - - public Builder setMinifyJs(boolean minifyJs) { - this.minifyJs = minifyJs; - return this; - } - - public Configuration build() { - return new Configuration(this.minifyJs); - } - } - } } diff --git a/java/src/main/java/in/wilsonl/minifyhtml/SyntaxException.java b/java/src/main/java/in/wilsonl/minifyhtml/SyntaxException.java new file mode 100644 index 0000000..871ea40 --- /dev/null +++ b/java/src/main/java/in/wilsonl/minifyhtml/SyntaxException.java @@ -0,0 +1,10 @@ +package in.wilsonl.minifyhtml; + +/** + * Basic exception class representing minification errors. + */ +public class SyntaxException extends RuntimeException { + private SyntaxException(String message) { + super(message); + } +} diff --git a/java/src/main/rust/lib.rs b/java/src/main/rust/lib.rs index 97cd7fd..d67e239 100644 --- a/java/src/main/rust/lib.rs +++ b/java/src/main/rust/lib.rs @@ -4,6 +4,8 @@ use jni::objects::{JByteBuffer, JClass, JObject, JString}; use jni::sys::{jint, jstring}; use std::str::from_utf8_unchecked; +const SYNTAX_EXCEPTION_CLASS: &str = "in/wilsonl/minifyhtml/SyntaxException"; + fn build_cfg( env: &JNIEnv, obj: &JObject, @@ -33,7 +35,7 @@ pub extern "system" fn Java_in_wilsonl_minifyhtml_MinifyHtml_minifyInPlace( Ok(out_len) => out_len, Err(Error { error_type, position }) => { env.throw_new( - "in/wilsonl/minifyhtml/MinifyHtml$SyntaxException", + SYNTAX_EXCEPTION_CLASS, format!("{} [Character {}]", error_type.message(), position), ).unwrap(); 0 @@ -56,7 +58,7 @@ pub extern "system" fn Java_in_wilsonl_minifyhtml_MinifyHtml_minify( Ok(out_len) => env.new_string(unsafe { from_utf8_unchecked(&code[0..out_len]) }).unwrap().into_inner(), Err(Error { error_type, position }) => { env.throw_new( - "in/wilsonl/minifyhtml/MinifyHtml$SyntaxException", + SYNTAX_EXCEPTION_CLASS, format!("{} [Character {}]", error_type.message(), position), ).unwrap(); JObject::null().into_inner()