Coder Social home page Coder Social logo

Comments (6)

Code42Cate avatar Code42Cate commented on August 18, 2024

I have not tested everything, but it seems like this constructor would be enough to enable my suggestion:

public RoCrateBuilder(RoCrate crate) {
      this.payload = crate.roCratePayload;
      this.metadataContext = crate.metadataContext;
      this.preview = crate.roCratePreview;
      this.rootDataEntity = crate.rootDataEntity;
      this.jsonDescriptor = crate.jsonDescriptor;
      this.untrackedFiles = crate.untrackedFiles;
}

from ro-crate-java.

Pfeil avatar Pfeil commented on August 18, 2024

Seems like a good solution to me. If you do this, we could in theory remove all other setters of RoCrate, so modification is only possible from the builder, where we have potentially a better control over what is allowed and what is not. Although removing methods would be a breaking change, so we could mark it as deprecated and remove it in version 2.0, then. Thoughts?

from ro-crate-java.

Code42Cate avatar Code42Cate commented on August 18, 2024

If we are sure that we don't lose any functionality, yes I would do that. Less interfaces that do the same:)

from ro-crate-java.

Code42Cate avatar Code42Cate commented on August 18, 2024

We also need to keep in mind that removing stuff only works on the RoCrate objects, not with the builder.

from ro-crate-java.

Pfeil avatar Pfeil commented on August 18, 2024

Yeah, we definitely need a long term strategy for that to make things more consistent. This is something for the next major milestone (2.0) I guess. For now, I think, this is fine. Will the PR close this issue, or are other aspects the PR does not fix?

from ro-crate-java.

Code42Cate avatar Code42Cate commented on August 18, 2024

The issue is fixed with #39 ! :)

from ro-crate-java.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.