2
0
mirror of synced 2025-02-24 07:18:15 +00:00
mobile/bind/testdata/structs.java.golden
Elias Naur e1840f9c11 mobile/bind: make Java proxy classes private
Proxies are an implementation detail, so make them private to hide
them from the public API.

Also, move the proxy classes out of its interface scope; classes
declared inside Java interfaces are always public and cannot be
declared otherwise. Use the lowercase "proxy" class prefix to
avoid name clashes with exported Go interfaces and structs.

Change-Id: Iae6a53ed4885b7899f2fa770b73c135f54ffb263
Reviewed-on: https://go-review.googlesource.com/21370
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2016-04-02 13:41:50 +00:00

100 lines
2.8 KiB
Plaintext

// Java class go.structs.Structs is a proxy for talking to a Go program.
// gobind -lang=java structs
//
// File is generated by gobind. Do not edit.
package go.structs;
import go.Seq;
public abstract class Structs {
static {
Seq.touch(); // for loading the native library
init();
}
private Structs() {} // uninstantiable
// touch is called from other bound packages to initialize this package
public static void touch() {}
private static native void init();
public static final class S extends Seq.Proxy {
private S(go.Seq.Ref ref) { super(ref); }
public final native double getX();
public final native void setX(double v);
public final native double getY();
public final native void setY(double v);
public native S Identity() throws Exception;
public native double Sum();
@Override public boolean equals(Object o) {
if (o == null || !(o instanceof S)) {
return false;
}
S that = (S)o;
double thisX = getX();
double thatX = that.getX();
if (thisX != thatX) {
return false;
}
double thisY = getY();
double thatY = that.getY();
if (thisY != thatY) {
return false;
}
return true;
}
@Override public int hashCode() {
return java.util.Arrays.hashCode(new Object[] {getX(), getY()});
}
@Override public String toString() {
StringBuilder b = new StringBuilder();
b.append("S").append("{");
b.append("X:").append(getX()).append(",");
b.append("Y:").append(getY()).append(",");
return b.append("}").toString();
}
}
public static final class S2 extends Seq.Proxy implements I {
private S2(go.Seq.Ref ref) { super(ref); }
public native void M();
public native String String();
@Override public boolean equals(Object o) {
if (o == null || !(o instanceof S2)) {
return false;
}
S2 that = (S2)o;
return true;
}
@Override public int hashCode() {
return java.util.Arrays.hashCode(new Object[] {});
}
@Override public String toString() {
return String();
}
}
public interface I {
public void M();
}
private static final class proxyI extends Seq.Proxy implements I {
proxyI(Seq.Ref ref) { super(ref); }
public native void M();
}
public static native S Identity(S s);
public static native S IdentityWithError(S s) throws Exception;
}