diff --git a/Frameworks/Ajax/Ajax/Components/AjaxFlexibleFileUpload.wo/AjaxFlexibleFileUpload.wod b/Frameworks/Ajax/Ajax/Components/AjaxFlexibleFileUpload.wo/AjaxFlexibleFileUpload.wod
index 0af920e2d10..07c15c7f1cf 100644
--- a/Frameworks/Ajax/Ajax/Components/AjaxFlexibleFileUpload.wo/AjaxFlexibleFileUpload.wod
+++ b/Frameworks/Ajax/Ajax/Components/AjaxFlexibleFileUpload.wo/AjaxFlexibleFileUpload.wod
@@ -1,6 +1,7 @@
AjaxProxy : AjaxProxy {
name = ajaxProxyName;
proxyName = "wopage";
+ proxy = proxy;
}
SelectFileButtonWrapper : WOGenericContainer {
diff --git a/Frameworks/Ajax/Ajax/Sources/er/ajax/AjaxFlexibleFileUpload.java b/Frameworks/Ajax/Ajax/Sources/er/ajax/AjaxFlexibleFileUpload.java
index 44c9af1f749..e44e38a7889 100644
--- a/Frameworks/Ajax/Ajax/Sources/er/ajax/AjaxFlexibleFileUpload.java
+++ b/Frameworks/Ajax/Ajax/Sources/er/ajax/AjaxFlexibleFileUpload.java
@@ -100,7 +100,46 @@ public static interface Keys {
public static final String clearUploadProgressOnSuccess = "clearUploadProgressOnSuccess";
public static final String onClickBefore = "onClickBefore";
}
-
+
+ /**
+ * Wrapper class to expose only the methods we need to {@link AjaxProxy}.
+ *
+ * @author paulh
+ * @see #768
+ */
+ public final class Proxy {
+ /**
+ * Wrapper for {@link AjaxFlexibleFileUpload#uploadState()}.
+ *
+ * @return see {@link AjaxFlexibleFileUpload#uploadState()}
+ */
+ public NSDictionary uploadState() {
+ return AjaxFlexibleFileUpload.this.uploadState();
+ }
+
+ /**
+ * Wrapper for {@link AjaxFlexibleFileUpload#cancelUpload()}.
+ */
+ public void cancelUpload() {
+ AjaxFlexibleFileUpload.this.cancelUpload();
+ return;
+ }
+
+ /**
+ * Wrapper for {@link AjaxFlexibleFileUpload#uploadState()}.
+ *
+ * @return see {@link AjaxFlexibleFileUpload#uploadState()}
+ */
+ public WOActionResults clearFileResults() {
+ return AjaxFlexibleFileUpload.this.clearFileResults();
+ }
+ }
+
+ /**
+ * Proxy used for method access by {@link AjaxProxy}
+ */
+ public final Proxy proxy = new Proxy();
+
private String _refreshTime;
private String _clearLabel;
private String _cancelLabel;