Object-oriented Java tuples

Overview

Object oriented Java tuples.

  • No data accessors
  • No ugly class or method names pair._1(), new Tuple3()
  • All tuple types are interfaces
  • Strong encapsulation of tuples data
  • Standard tuple implementations are immutable
  • Built-in support of equals, hashCode, toString, Serializable in standard implementation

CI checks Maven Central

Usage

Add dependency

<dependency>
    <groupId>wtf.g4s8</groupId>
    <artifactId>tuples</artifactId>
</dependency>

Using in code:

// creating new tuples
var pair = Pair.of(1, "b"); // <1, "b">
var triplet = Triplet.of(4, false, 0.2); // <4, false, 0.2>

// applying tuple data
String result = pair.apply((i, s) -> String.format("%s - %d", s, i)); // b - 1

// accepting tuple data
triplet.accept((i, b, d) -> System.out.printf("%d - (%b) %f\n", i, b, d)); // 4 - (false) 0.2 

// push and pop
Unit<Integer> iUnit = Unit.of(1); // <1>
Pair<Integer, String> pair = unit.push("a"); // <1, "a">
Unit<String> sUnit = pair.apply((i, s) -> Pair.of(s, i)).pop(); // <"a">
Triplet<String, Double, Boolean> triplet = sUnit.push(1.1).push(true); // <"a", 1.1, true>

// zipping iterables
var zip = Pair.zip(Arrays.asList(1, 2, 3), Arrays.asList("a", "b", "c")); // [<1, "a">, <2, "b">, <3, "c">]

Design

Each tuple object specify the behavior and encapsulates the data. Tuple primitives are interfaces with just a minimal required methods. Data is strongly encapsulated and can not be accessed directly. All types are immutable. The only was yo access the data is to call accept or apply methods.

There are three objects exist:

  • Unit<T> - singleton tuple
  • Pair<T, U> - pair of two value
  • Triplet<T, U, V> - three values

API

Each tuple has two primary methods:

  • apply(function) - apply function to tuple data, return function result
  • accept(consumer) - consume tuple data, return nothing

And additional methods to add or remove data:

  • push(item) - change tuple type by adding new element (unit -> pair -> triplet)
  • pop() - skip last element, reduce tuple size (triplet -> pair -> unit)

Constructing

Each tuple type has factory method of(...):

  • Unit.of(T) -> Unit<T>
  • Pair.of(T, U) -> Pair<T, U>
  • Triplet.of(T, U, V) -> Triplet<T, U, V>

ZIP

Also, there are zip methods available to zip two or more lists:

  • Pair.zip(Iterable<T>, Iterable<U>) -> Iterable<Pair<T, U>>
  • Triplet.zip(Iterable<T>, Iterable<U>, Iterable<V>) -> Iterable<Triplet<T, U, V>>

Optional

Unit tuple has maybe method to convert from optional:

  • Unit.maybe(Optional<T>) -> Optional<Unit<T>>

Extras

All standard tuple classes created from of factory method implements equals, hashCode and toString methods.

Testing

Each tuple type has Hamcrest matcher in wtf.g4s8.tuples.hm package (to use it, add org.hamcrest:hamcrest Maven dependency):

  • UnitMatcher<T> for Unit<T>
  • PairMatcher<T, U> for Pair<T, U>
  • TripletMatcher<T, U, V> for Triplet<T, U, V>
Comments
  • deps: bump maven-install-plugin from 2.5.2 to 3.0.0

    deps: bump maven-install-plugin from 2.5.2 to 3.0.0

    Bumps maven-install-plugin from 2.5.2 to 3.0.0.

    Commits
    • 10a9d7a [maven-release-plugin] prepare release maven-install-plugin-3.0.0
    • 4dbab72 [MINSTALL-177] Streamline the plugin (#32)
    • 9fa9fd5 [MINSTALL-115] Install At End feature (no extension) (#15)
    • d13f571 Ignore Maven Core update
    • 683610e [MINSTALL-174] Upgrade maven-plugin parent to 36
    • 3b43200 [MINSTALL-172] - Upgrade maven-plugin parent to 35
    • b83529a Use GitHub shared actions v2
    • 1598a7e Added Dependabot config
    • 8762ec8 Upgrade javadoc and invoker plugins
    • 2c63998 Merge pull request #17 from apache/MINSTALL-171-update-plugin
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 2
  • deps: bump nexus-staging-maven-plugin from 1.6.8 to 1.6.10

    deps: bump nexus-staging-maven-plugin from 1.6.8 to 1.6.10

    Bumps nexus-staging-maven-plugin from 1.6.8 to 1.6.10.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 2
  • deps: bump maven-compiler-plugin from 3.8.1 to 3.9.0

    deps: bump maven-compiler-plugin from 3.8.1 to 3.9.0

    Bumps maven-compiler-plugin from 3.8.1 to 3.9.0.

    Commits
    • aeb15b6 [maven-release-plugin] prepare release maven-compiler-plugin-3.9.0
    • 6335382 Shared GitHub Acton v2
    • 8d5d3cd Fix site build
    • ce4eb1e Bump plexus-component-metadata from 2.1.0 to 2.1.1
    • f875750 Bump mockito-core from 4.1.0 to 4.2.0
    • 5463357 fix CI site goal
    • 859c903 Update plugins
    • b0de9bc Bump mockito-core from 4.0.0 to 4.1.0
    • f95dd46 Bump plexusCompilerVersion from 2.8.8 to 2.9.0
    • 26900cf Bump mockito-core from 2.28.2 to 4.0.0
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 2
  • deps: bump maven-jar-plugin from 3.2.0 to 3.2.1

    deps: bump maven-jar-plugin from 3.2.0 to 3.2.1

    Bumps maven-jar-plugin from 3.2.0 to 3.2.1.

    Commits
    • 50a8e0b [maven-release-plugin] prepare release maven-jar-plugin-3.2.1
    • 0fb2bf0 Proper uppercase JAR
    • e44e5f2 [MJAR-282] Upgrade Maven Archiver to 3.5.2
    • 34d62b6 Bump maven-archiver from 3.5.0 to 3.5.1
    • a496294 use shared gh action - v1 (#28)
    • a7cfde9 Bump junit from 4.13 to 4.13.2
    • ce23381 ignore dependabot branches
    • 9c93c7e use shared gh action (#24)
    • e4a728c Merge pull request #23 from apache/dependabot/maven/org.codehaus.plexus-plexu...
    • 09bc185 Merge pull request #20 from apache/dependabot/maven/org.apache.maven.shared-m...
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 2
  • deps: bump maven-site-plugin from 3.9.1 to 3.10.0

    deps: bump maven-site-plugin from 3.9.1 to 3.10.0

    Bumps maven-site-plugin from 3.9.1 to 3.10.0.

    Commits
    • c56b7b2 [maven-release-plugin] prepare release maven-site-plugin-3.10.0
    • 7029bab [MSITE-878] Upgrade Doxia to 1.11.1 and Doxia Tools to 1.11.1
    • 7f8fe7e [MSITE-877] Shared GitHub Actions (#65)
    • e330284 require CDATA
    • eeba50c Add PR template
    • 7813e8f add Sitetools' integration tool and skin model
    • fda2a84 Updated CI setup
    • 0cd2070 Bump slf4jVersion from 1.7.31 to 1.7.32 (#58)
    • 9f24d2b update CI url
    • e06aa78 [MSITE-875] add 3.10.0 in history table
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 2
  • deps: bump maven-site-plugin from 3.12.0 to 3.12.1

    deps: bump maven-site-plugin from 3.12.0 to 3.12.1

    Bumps maven-site-plugin from 3.12.0 to 3.12.1.

    Commits
    • ecae28f [maven-release-plugin] prepare release maven-site-plugin-3.12.1
    • d98569b [MSITE-908] Upgrade Maven Reporting API to 3.1.1
    • bd3376f [MSITE-901] If precending standalone report has been run, site:jar does not r...
    • b99c0ef [MSITE-902] Upgrade Plexus Utils to 3.4.2
    • 3c6ff2e Update CI URL
    • f314e9d [MSITE-898] Upgrade Parent to 36
    • bce7458 [MSITE-897] Upgrade Plexus Archiver to 4.2.7
    • 3c8d426 keep only release month, drop day
    • 6604ab3 also keep only Doxia versions changes
    • 789a7a1 lighten content: keep only meaningful values
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies bot 
    opened by dependabot[bot] 1
  • deps: bump maven-install-plugin from 2.5.2 to 3.0.1

    deps: bump maven-install-plugin from 2.5.2 to 3.0.1

    Bumps maven-install-plugin from 2.5.2 to 3.0.1.

    Commits
    • 9f77fb9 [maven-release-plugin] prepare release maven-install-plugin-3.0.1
    • 23ab053 [MINSTALL-160] Generated POM is not installed if original POM exists (#36)
    • 0008052 [maven-release-plugin] prepare for next development iteration
    • 10a9d7a [maven-release-plugin] prepare release maven-install-plugin-3.0.0
    • 4dbab72 [MINSTALL-177] Streamline the plugin (#32)
    • 9fa9fd5 [MINSTALL-115] Install At End feature (no extension) (#15)
    • d13f571 Ignore Maven Core update
    • 683610e [MINSTALL-174] Upgrade maven-plugin parent to 36
    • 3b43200 [MINSTALL-172] - Upgrade maven-plugin parent to 35
    • b83529a Use GitHub shared actions v2
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 1
  • deps: bump maven-deploy-plugin from 2.8.2 to 3.0.0

    deps: bump maven-deploy-plugin from 2.8.2 to 3.0.0

    Bumps maven-deploy-plugin from 2.8.2 to 3.0.0.

    Release notes

    Sourced from maven-deploy-plugin's releases.

    3.0.0-M2

    What's Changed

    New Contributors

    Full Changelog: https://github.com/apache/maven-deploy-plugin/commits/maven-deploy-plugin-3.0.0-M2

    Commits
    • b905235 [maven-release-plugin] prepare release maven-deploy-plugin-3.0.0
    • 16541da [MDEPLOY-296] Streamline plugin (#26)
    • 89c28fb [MDEPLOY-193] Deploy At End feature (no extension) (#20)
    • dd39f5d (doc) Update Fluido Skin to 1.10.0
    • d4bdd05 (doc) drop obsolete Google tracking code
    • 6eb066e [MDEPLOY-291] Update POM parent and Maven (#22)
    • 36a2030 Use Shared GitHub Actions
    • 9929303 [maven-release-plugin] prepare for next development iteration
    • d4a468d [maven-release-plugin] prepare release maven-deploy-plugin-3.0.0-M2
    • f1b3241 Minor improvement to English grammar in usage doc
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 1
  • deps: bump maven-project-info-reports-plugin from 3.3.0 to 3.4.0

    deps: bump maven-project-info-reports-plugin from 3.3.0 to 3.4.0

    Bumps maven-project-info-reports-plugin from 3.3.0 to 3.4.0.

    Commits
    • 85082c4 [maven-release-plugin] prepare release maven-project-info-reports-plugin-3.4.0
    • 90f65c2 [MPIR-422] Stop overriding AbstractMavenReport#execute()
    • 91d0efe [MPIR-421] Make all ITs with site.xml use an explicit skin
    • 3846376 [MPIR-420] Uprade dependencies
    • eeb81c8 [MPIR-407] Provide a way to map license names
    • 9430070 [MPIR-418] Add some i18n properties for zh_CH completely
    • 1c669e7 [maven-release-plugin] prepare for next development iteration
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 1
  • deps: bump maven-project-info-reports-plugin from 3.2.2 to 3.3.0

    deps: bump maven-project-info-reports-plugin from 3.2.2 to 3.3.0

    Bumps maven-project-info-reports-plugin from 3.2.2 to 3.3.0.

    Commits
    • 563a0b2 [maven-release-plugin] prepare release maven-project-info-reports-plugin-3.3.0
    • 9549763 [MPIR-416] Upgrade maven-dependency-tree to 3.1.0
    • eab4f24 [MPIR-417] Upgrade Parent to 36
    • 3538a85 Bump project version for next release candidate
    • 6342759 PR template
    • 8d7b024 Use shared GitHub actions
    • f784eef [MPIR-399] Upgrade to Maven 3.2.5
    • 62f490b [MPIR-415] Wrong old goal name in "Incompatibility Notice" table in website
    • 5bb94e1 [maven-release-plugin] prepare for next development iteration
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 1
  • deps: bump nexus-staging-maven-plugin from 1.6.12 to 1.6.13

    deps: bump nexus-staging-maven-plugin from 1.6.12 to 1.6.13

    Bumps nexus-staging-maven-plugin from 1.6.12 to 1.6.13.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 1
  • deps: bump maven-resources-plugin from 3.2.0 to 3.3.0

    deps: bump maven-resources-plugin from 3.2.0 to 3.3.0

    Bumps maven-resources-plugin from 3.2.0 to 3.3.0.

    Commits
    • b47af4b [maven-release-plugin] prepare release maven-resources-plugin-3.3.0
    • 08feaaa Ignore Maven Core updates
    • f76c749 Bump maven-filtering from 3.2.0 to 3.3.0
    • abf7287 Merge pull request #29 from apache/release-drafter
    • e59582b Create release-drafter.yml
    • 34e051f add release drafter
    • ead6580 Bump plexus-utils from 3.4.1 to 3.4.2
    • fa0aa86 (doc) Fix XML formatting
    • f928ced Bump commons-io from 1.4 to 2.7 in /src/it/user-filters
    • 38eb65a [MRESOURCES-282] Bump parent-pom from 34 to 36
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 1
Releases(0.1.2)
Owner
Kirill
Kirill
Three Java projects assigned for the Introduction to Object-Oriented Programming (CMPE 160) course in the Spring 2021 semester.

CMPE160-projects Three Java projects assigned for the Introduction to Object-Oriented Programming (CMPE 160) course in the Spring 2021 semester. These

Aras Güngöre 21 Dec 6, 2022
Object-Oriented and Immutable Java Chain of XSL Transformations

It's a chain of XSL transformations in Java. You add this to your pom.xml: <dependency> <groupId>com.yegor256</groupId> <artifactId>xsline</artifa

Yegor Bugayenko 12 Dec 15, 2022
OBJECT ORIENTED PROGRAMING IN JAVA Coursera SPECIALIZATION by DUKE UNIVERSITY & UNIVERSITY OF CALIFORNIA, SAN DIEGO

COURSERA Object Oriented Programming in Java Object Oriented Programming in Java -> by Duke University & University of California, San Diego Java Prog

Farhan Sheth 6 Dec 29, 2022
Object Oriented Programming Course - Fall Semester 2021

Object Oriented Programming Course (Fall Semester 2021) This repository will store the code we use during the lectures and the exercises sessions of t

Andres R. Masegosa 14 Jul 10, 2022
Design Patterns: Elements of Reusable Object-Oriented Software

GoF Design Patterns Design Patterns: Elements of Reusable Object-Oriented Software Task 싱글톤패턴 싱글톤 패턴 구현 방법을 깨뜨리는 방법 리플렉션을 통해 싱글톤 패턴을 깨뜨리다 역직렬화를 통해 싱글톤

전지환 11 Jul 19, 2022
PGR112 Object-oriented Programming

Welcome to PGR112! Object-oriented Programming Course Page Canvas page This repository is for students at Campus Bergen taking the course PGR112 this

Høyskolen Kristiania PGR112 Bergen 18 Sep 20, 2022
Challenge: Learn Object Oriented Programming in Practice

Challenge: Learn Object Oriented Programming in Practice The main objective is to put into practice one of the main tools of OO: ABSTRACTION, ENCAPSUL

njtsb1 0 Sep 4, 2022
An object-oriented implementation of the game Concentration

Concentration An object-oriented implementation of the game Concentration Rules Any deck of playing cards may be used, although there are also commerc

michael 0 Dec 6, 2022
For Jack language. Most of codes were commented with their usage, which can be useful for beginner to realize the running principle of a compiler for object-oriented programming language.

Instructions: Download the Java source codes Store these codes into a local folder and open this folder Click the right key of mouse and click ‘Open i

gooooooood 1.1k Jan 5, 2023
This repository is an example of one of my biggest object-oriented projects

COO - Project This repository belongs to Lounès Meddahi. This project was realized in collaboration with Matthieu Medeng Essia Computer Science and Ma

Lounès Mh 2 Sep 11, 2022
Learning and improving skills in Object Oriented Programming, with concepts from the Spotify App

sPOOtify Screenshot EN A project developed in the discipline of Object Oriented Programming, to apply and improve the concepts of Object Orientation.

Eduardo Henrique 7 Jan 2, 2023
A developer oriented, headless ecommerce framework based on Spring + GraphQL + Angular.

GeekStore A developer oriented, headless ecommerce framework based on Spring + GraphQL + Angular. Headless means GeekStore only focus on the backend,

波波微课 13 Jul 27, 2022
Mars - Object Relational Mapping Framework for MongoDB (MongoDB ORM)

Mars Object Relational Mapping Framework for MongoDB 致自己 造自己的轮子,让别人去说 ; What is Mars Mars is a unified driver platform product developed by Shanghai J

null 35 Nov 17, 2022
Spring Boot DTO Example Tutorial | Data Transfer Object Pattern

springboot-dto-tutorial Spring Boot DTO Example Tutorial | Data Transfer Object Pattern at https://youtu.be/THv-TI1ZNMk Spring Boot DTO Tutorial - Ent

Ramesh Fadatare 20 Nov 16, 2022
Mentoring: Abstracting real-world situations with Object Orientation

Mentoria: Abstraindo situações do mundo real com Orientação a Objetos O objetivo principal é colocar em prática umas das principais ferramentas da OO:

Camila Cavalcante 10 Feb 11, 2022
"Some" Utilities you can use for your Java projects "freely"! Files are compiled with Java-8 and above, but mostly Java-11.

✨ Java-SomeUtils ?? "Some" Utilities you can use for your Java projects "freely"! *"Freely"* forcing you to include the license into your program. Fil

JumperBot_ 2 Jan 6, 2023
Java-Programs---For-Practice is one of the Java Programming Practice Series By Shaikh Minhaj ( minhaj-313 ). This Series will help you to level up your Programming Skills. This Java Programs are very much helpful for Beginners.

Java-Programs---For-Practice is one of the Java Programming Practice Series By Shaikh Minhaj ( minhaj-313 ). This Series will help you to level up your Programming Skills. This Java Programs are very much helpful for Beginners. If You Have any doubt or query you can ask me here or you can also ask me on My LinkedIn Profile

Shaikh Minhaj 3 Nov 8, 2022
(Java & React) Yazılım Geliştirici Yetiştirme Kampı Java kısmına ait yazılan kaynak kodlar ve ödev çalışmalarım.

JavaCamp Kamp sürecinde yazılan kaynak kodlar ve ödev çalışmalarım. Day 1 1)Intro Day 2 2)oopIntro 2.1)oopIntro ~ Homework Day 3 3)oopIntro2 3.1)inher

Melih Çelik 17 Jun 26, 2022
☁ Tencent Cloud IM Server SDK in Java | 腾讯云 IM 服务端 SDK Java 版

Tencent Cloud IM Server SDK in Java The Tencent Cloud IM Server SDK for Java enables Java developers to easily work with Tencent Cloud IM. Requirement

Doocs 64 Dec 23, 2022