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>
100 lines
2.8 KiB
Plaintext
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;
|
|
}
|