• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

cossacklabs / themis / #7623
88%
master: 83%

Build:
Build:
LAST BUILD BRANCH: release/0.15.0
DEFAULT BRANCH: master
Ran 11 May 2020 09:53AM UTC
Jobs 1
Files 73
Run time 8s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

11 May 2020 09:31AM UTC coverage: 87.707%. Remained the same
#7623

push

travis-ci

web-flow
Update JavaThemis Secure Cell API (#634)

* New API of Secure Cell

Introduce new, interface-based API of Secure Cell. Current API has
a number of issues described in RFC 3.9, notably the run-time mode
setting and not-quite-secure support of String inputs which interferes
with passphrase API. That's why we introduce a new interface which
should rectify these issues.

The users will deal with *interfaces* of the base SecureCell class:
SecureCell.Seal, TokenProtect, ContextImprint. They will take into
account differences in inputs and outputs of these modes. They also
allow to introduce passphrase API which actually has the same API
after the initialization.

Using interfaces as opposed to classes allows us to hide unnecessary
implementation details and do not expose the users to a number of
classes that they don't actually need to interact with.

This is also a nice point to start paying more attention to JavaDocs,
with better descriptions of APIs and versioning.

* Implement new Secure Cell API

Add implementation of SecureCell interfaces. These are package-private
classes constructed by static factory methods of the base class. They
provide improved API with the similar behavior.

The differences include naming and the fact that encryption code path
no longer uses checked SecureCellException, instead wrapping it into
unchecked RuntimeException. This is because encryption code path is
unlikely to fail due to business errors as opposed to programming
errors, so there is no need to enforce immediate error checking with
checked exception. This is not true for decryption path.

Note that native methods do not throw exceptions on their own right now.
Instead they indicate errors by returning "null". This would be nice to
get right later.

* Nullability annotations

Mark new interface methods with @NotNull and @Nullable annotations where
appropriate. This improves IDE experience and Kotlin integration.

Contracts e... (continued)

3767 of 4295 relevant lines covered (87.71%)

19368.08 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #7623.1 11 May 2020 09:53AM UTC 0
87.71
Source Files on build #7623
Detailed source file information is not available for this build.
  • Back to Repo
  • ab6c2870 on github
  • Prev Build on HEAD
  • Next Build on HEAD
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc