All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.netgrif.application.engine.petrinet.domain.UriNode Maven / Gradle / Ivy

Go to download

System provides workflow management functions including user, role and data management.

There is a newer version: 6.3.3
Show newest version
package com.netgrif.application.engine.petrinet.domain;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.annotation.Transient;
import org.springframework.data.mongodb.core.mapping.Document;

import java.util.HashSet;
import java.util.Set;


@Document
@AllArgsConstructor
public class UriNode {

    @Id
    @Getter
    private ObjectId _id;

    @Getter
    @Setter
    private String uriPath;

    @Getter
    @Setter
    private String name;

    @Getter
    @Setter
    private String parentId;

    @Getter
    @Setter
    @Transient
    private UriNode parent;

    @Getter
    @Setter
    private Set childrenId;

    @Getter
    @Setter
    @Transient
    private Set children;

    @Getter
    @Setter
    private int level;

    @Getter
    @Setter
    private Set contentTypes;

    public UriNode() {
        this.childrenId = new HashSet<>();
        this.children = new HashSet<>();
        this.contentTypes = new HashSet<>();
    }

    public boolean containsCase() {
        return contentTypes.contains(UriContentType.CASE);
    }

    public void addContentType(UriContentType contentType) {
        if (contentTypes == null) {
            contentTypes = new HashSet<>();
        }
        contentTypes.add(contentType);
    }

    public boolean containsNet() {
        return contentTypes.contains(UriContentType.PROCESS);
    }

    public String getStringId() {
        return this._id.toString();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy