Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

### Added

* Added Java language binding documentation to the API reference. ([#1734](https://github.com/finos/FDC3/pull/1734))
* Added a notes field to Trade type ([#1563](https://github.com/finos/FDC3/pull/1563))
* Added a notes field to Order and Product types ([#1597](https://github.com/finos/FDC3/pull/1597))
* Added Go language binding. ([#1483](https://github.com/finos/FDC3/pull/1483))
Expand Down
180 changes: 179 additions & 1 deletion website/docs/api/ref/Channel.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,36 @@ const (
)
```

</TabItem>
<TabItem value="java" label="Java">

```java
public interface Channel extends IntentResult {
String getId();
Type getType();
DisplayMetadata getDisplayMetadata();

CompletionStage<Void> broadcast(Context context);
CompletionStage<Optional<Context>> getCurrentContext();
CompletionStage<Optional<Context>> getCurrentContext(String contextType);
CompletionStage<Listener> addContextListener(String contextType, ContextHandler handler);

/** @deprecated Use addContextListener(null, handler) instead */
@Deprecated
CompletionStage<Listener> addContextListener(ContextHandler handler);

enum Type {
User("user"),
App("app"),
Private("private");

private final String value;
Type(String value) { this.value = value; }
public String getValue() { return value; }
}
}
```

</TabItem>
</Tabs>

Expand Down Expand Up @@ -130,6 +160,13 @@ string Id { get; }
Id string
```

</TabItem>
<TabItem value="java" label="Java">

```java
String getId();
```

</TabItem>
</Tabs>

Expand Down Expand Up @@ -170,6 +207,15 @@ const (
Private ChannelType = "private"
)
```
</TabItem>
<TabItem value="java" label="Java">

```java
Channel.Type getType();

enum Type { User, App, Private }
```

</TabItem>
</Tabs>

Expand Down Expand Up @@ -197,6 +243,13 @@ IDisplayMetadata? DisplayMetadata { get; }
```go
DisplayMetadata *DisplayMetadata
```
</TabItem>
<TabItem value="java" label="Java">

```java
DisplayMetadata getDisplayMetadata();
```

</TabItem>
</Tabs>

Expand Down Expand Up @@ -233,6 +286,13 @@ func (ch *Channel) AddContextListener(contextType string, handler ContextHandler
}
```

</TabItem>
<TabItem value="java" label="Java">

```java
CompletionStage<Listener> addContextListener(String contextType, ContextHandler handler);
```

</TabItem>
</Tabs>

Expand Down Expand Up @@ -303,6 +363,22 @@ if listenerResult.Value != nil {
}
```

</TabItem>
<TabItem value="java" label="Java">

```java
Listener listener = channel.addContextListener(null, (context, metadata) -> {
if ("fdc3.contact".equals(context.getType())) {
// handle the contact
} else if ("fdc3.instrument".equals(context.getType())) {
// handle the instrument
}
}).toCompletableFuture().get();

// later
listener.unsubscribe();
```

</TabItem>
</Tabs>

Expand Down Expand Up @@ -362,6 +438,23 @@ if listenerResultInstrument.Value != nil {
}
```

</TabItem>
<TabItem value="java" label="Java">

```java
Listener contactListener = channel.addContextListener("fdc3.contact", (contact, metadata) -> {
// handle the contact
}).toCompletableFuture().get();

Listener instrumentListener = channel.addContextListener("fdc3.instrument", (instrument, metadata) -> {
// handle the instrument
}).toCompletableFuture().get();

// later
contactListener.unsubscribe();
instrumentListener.unsubscribe();
```

</TabItem>
</Tabs>

Expand Down Expand Up @@ -415,6 +508,14 @@ var listener = await myChannel.AddEventListener(null, (event) => {
});
```

</TabItem>
<TabItem value="java" label="Java">

```java
// Not implemented on Channel interface; use PrivateChannel.addEventListener
Not implemented
```

</TabItem>
</Tabs>

Expand Down Expand Up @@ -449,6 +550,13 @@ func (channel *Channel) Broadcast(context IContext) <-chan Result[any] {
}
```

</TabItem>
<TabItem value="java" label="Java">

```java
CompletionStage<Void> broadcast(Context context);
```

</TabItem>
</Tabs>

Expand Down Expand Up @@ -513,6 +621,19 @@ if result.Err != null {
}
```

</TabItem>
<TabItem value="java" label="Java">

```java
try {
Context instrument = new Context("fdc3.instrument");
instrument.getId().put("ticker", "AAPL");
channel.broadcast(instrument).toCompletableFuture().get();
} catch (Exception e) {
// handle error
}
```

</TabItem>
</Tabs>

Expand Down Expand Up @@ -547,6 +668,13 @@ func (channel *Channel) GetCurrentContext(contextType string) <-chan Result[Cont
}
```

</TabItem>
<TabItem value="java" label="Java">

```java
CompletionStage<Optional<Context>> getCurrentContext(String contextType);
```

</TabItem>
</Tabs>

Expand Down Expand Up @@ -597,6 +725,17 @@ if result.Err != null {
}
```

</TabItem>
<TabItem value="java" label="Java">

```java
try {
Optional<Context> context = channel.getCurrentContext(null).toCompletableFuture().get();
} catch (Exception e) {
// handle error
}
```

</TabItem>
</Tabs>

Expand Down Expand Up @@ -637,6 +776,17 @@ if result.Err != null {
}
```

</TabItem>
<TabItem value="java" label="Java">

```java
try {
Optional<Context> contact = channel.getCurrentContext("fdc3.contact").toCompletableFuture().get();
} catch (Exception e) {
// handle error
}
```

</TabItem>
</Tabs>

Expand All @@ -662,6 +812,13 @@ public clearContext(contextType?: string): Promise<void>;
Task ClearContext(string? contextType);
```

</TabItem>
<TabItem value="java" label="Java">

```java
Not implemented
```

</TabItem>
</Tabs>

Expand Down Expand Up @@ -698,6 +855,13 @@ catch (Exception ex)
}
```

</TabItem>
<TabItem value="java" label="Java">

```java
Not implemented
```

</TabItem>
</Tabs>

Expand Down Expand Up @@ -728,6 +892,13 @@ catch (Exception ex)
}
```

</TabItem>
<TabItem value="java" label="Java">

```java
Not implemented
```

</TabItem>
</Tabs>

Expand All @@ -737,7 +908,6 @@ catch (Exception ex)
- [`getCurrentContext`](#getcurrentcontext)
- [`addContextListener`](DesktopAgent#addContextListener)
- [`joinUserChannel`](DesktopAgent#joinUserChannel)
- [`addEventListener`](#addeventlistener)

## Deprecated Functions

Expand Down Expand Up @@ -767,6 +937,14 @@ Not implemented
Not implemented
```

</TabItem>
<TabItem value="java" label="Java">

```java
/** @deprecated Use addContextListener(null, handler) instead */
CompletionStage<Listener> addContextListener(ContextHandler handler);
```

</TabItem>

</Tabs>
Expand Down
Loading
Loading