Skip to content

Commit e0e9d3a

Browse files
committed
RPC: ServiceDescriptors add Call.of(service, method..) overload
1 parent e3b1e3b commit e0e9d3a

File tree

1 file changed

+55
-3
lines changed
  • rsocket-messages/src/main/java/com/jauntsdn/rsocket

1 file changed

+55
-3
lines changed

rsocket-messages/src/main/java/com/jauntsdn/rsocket/Rpc.java

Lines changed: 55 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -444,6 +444,11 @@ public final List<Call> serviceCalls() {
444444
return serviceCalls;
445445
}
446446

447+
@Override
448+
public String toString() {
449+
return "ServiceDescriptor{" + "serviceCalls=" + serviceCalls + '}';
450+
}
451+
447452
public static class Call {
448453
final String name;
449454
final InboundMessageFactory inMessageFactory;
@@ -453,17 +458,64 @@ private Call(
453458
String name,
454459
InboundMessageFactory inMessageFactory,
455460
OutboundMessageFactory outMessageFactory) {
456-
this.name = Objects.requireNonNull(name, "name");
457-
this.inMessageFactory = Objects.requireNonNull(inMessageFactory, "inMessageFactory");
458-
this.outMessageFactory = Objects.requireNonNull(outMessageFactory, "outMessageFactory");
461+
this.name = name;
462+
this.inMessageFactory = inMessageFactory;
463+
this.outMessageFactory = outMessageFactory;
464+
}
465+
466+
@Override
467+
public String toString() {
468+
return "Call{" + "name='" + name + '\'' + '}';
469+
}
470+
471+
@Override
472+
public boolean equals(Object o) {
473+
if (this == o) return true;
474+
if (o == null || getClass() != o.getClass()) return false;
475+
476+
Call call = (Call) o;
477+
478+
return name.equals(call.name);
479+
}
480+
481+
@Override
482+
public int hashCode() {
483+
return name.hashCode();
459484
}
460485

461486
public static Call of(
462487
String name,
463488
InboundMessageFactory inMessageFactory,
464489
OutboundMessageFactory outMessageFactory) {
490+
Objects.requireNonNull(name, "name");
491+
Objects.requireNonNull(inMessageFactory, "inMessageFactory");
492+
Objects.requireNonNull(outMessageFactory, "outMessageFactory");
493+
return new Call(name, inMessageFactory, outMessageFactory);
494+
}
495+
496+
public static Call of(
497+
String service,
498+
String method,
499+
InboundMessageFactory inMessageFactory,
500+
OutboundMessageFactory outMessageFactory) {
501+
String name =
502+
name(
503+
Objects.requireNonNull(service, "service"),
504+
Objects.requireNonNull(method, "method"));
505+
Objects.requireNonNull(inMessageFactory, "inMessageFactory");
506+
Objects.requireNonNull(outMessageFactory, "outMessageFactory");
465507
return new Call(name, inMessageFactory, outMessageFactory);
466508
}
509+
510+
@SuppressWarnings("all")
511+
private static String name(String service, String method) {
512+
return new StringBuilder(service.length() + method.length() + 2)
513+
.append('/')
514+
.append(service.toLowerCase())
515+
.append('/')
516+
.append(method.toLowerCase())
517+
.toString();
518+
}
467519
}
468520

469521
public interface InboundMessageFactory extends Supplier<com.google.protobuf.Message.Builder> {}

0 commit comments

Comments
 (0)