swift-generator

Code generator for Thrift IDLs

License

License

GroupId

GroupId

org.thriftee
ArtifactId

ArtifactId

swift-generator
Last Version

Last Version

0.17.0
Release Date

Release Date

Type

Type

jar
Description

Description

swift-generator
Code generator for Thrift IDLs

Download swift-generator

How to add to project

<!-- https://jarcasting.com/artifacts/org.thriftee/swift-generator/ -->
<dependency>
    <groupId>org.thriftee</groupId>
    <artifactId>swift-generator</artifactId>
    <version>0.17.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.thriftee/swift-generator/
implementation 'org.thriftee:swift-generator:0.17.0'
// https://jarcasting.com/artifacts/org.thriftee/swift-generator/
implementation ("org.thriftee:swift-generator:0.17.0")
'org.thriftee:swift-generator:jar:0.17.0'
<dependency org="org.thriftee" name="swift-generator" rev="0.17.0">
  <artifact name="swift-generator" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.thriftee', module='swift-generator', version='0.17.0')
)
libraryDependencies += "org.thriftee" % "swift-generator" % "0.17.0"
[org.thriftee/swift-generator "0.17.0"]

Dependencies

compile (8)

Group / Artifact Type Version
org.thriftee : swift-annotations jar 0.17.0
org.thriftee : swift-idl-parser jar 0.17.0
org.thriftee : swift-codec jar 0.17.0
org.thriftee : swift-service jar 0.17.0
org.antlr : stringtemplate jar 4.0.2
com.google.guava : guava jar 18.0
com.google.code.findbugs : annotations jar 2.0.3
io.airlift : log jar 0.119

test (2)

Group / Artifact Type Version
org.thriftee : swift-test-utils jar 0.17.0
org.testng : testng jar 6.9.6

Project Modules

There are no modules declared in this project.

Project Status: 🚨 Unmaintained 🚨

This project is archived and no longer maintained. At the time of archiving, open issues and pull requests were closed and tagged with 2018-05-archive. For pre-existing users who need an open source alternative, we recommend taking a look at airlift/drift.

Swift

Swift is an easy-to-use, annotation-based Java library for creating Thrift serializable types and services.

Swift Codec

Swift Codec is a simple library specifying how Java objects are converted to and from Thrift. This library is similar to JaxB (XML) and Jackson (JSON), but for Thrift. Swift codec supports field, method, constructor, and builder injection. For example:

@ThriftStruct
public class LogEntry
{
    private final String category;
    private final String message;

    @ThriftConstructor
    public LogEntry(String category, String message)
    {
        this.category = category;
        this.message = message;
    }

    @ThriftField(1)
    public String getCategory()
    {
        return category;
    }

    @ThriftField(2)
    public String getMessage()
    {
        return message;
    }
}

Swift Service

Swift Service is a simple library annotating services to be exported with Thrift. For example:

@ThriftService("scribe")
public class InMemoryScribe
{
    private final List<LogEntry> messages = new ArrayList<>();

    public List<LogEntry> getMessages()
    {
        return messages;
    }

    @ThriftMethod("Log")
    public ResultCode log(List<LogEntry> messages)
    {
        this.messages.addAll(messages);
        return ResultCode.OK;
    }
}

Swift Generator

Swift Generator is a library that creates Java code usable with the Swift codec from Thrift IDL files and vice versa.

Swift Generator CLI and Swift2Thrift Generator CLI are command-line front-ends to this generator.

Swift Maven plugin

Swift Maven plugin allows using the code generator from a maven build and generate source code on the fly.

org.thriftee

Facebook

We are working to build community through open source technology. NB: members must have two-factor auth.

Versions

Version
0.17.0