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

eu.xenit.apix.node.NodeMetadata Maven / Gradle / Ivy

There is a newer version: 4.1.2
Show newest version
package eu.xenit.apix.node;


import eu.xenit.apix.data.NodeRef;
import eu.xenit.apix.data.QName;

import java.util.List;
import java.util.Map;

/**
 * Represents the metadata of a node. This contains The id, which is a noderef. The type of the node, which is a qname.
 * The basetype of the node, which is a qname. The transaction id. This long is used for caching purposes. The
 * properties, which is a Map from QName to String list. The aspects of the node, which is a list of qnames.
 */
public class NodeMetadata {

    public NodeRef id;
    public QName type; // qname
    public QName baseType; //qname
    public long transactionId;
    public Map> properties;//: { [k: string]: Translation[]; }
    public List aspects;
    //TODO: parent

    //Removed in favor of using the permissions endpoint public boolean canEditMetadata; // TODO: remove

    //public NodeAssociation[] associations;

    public NodeMetadata(NodeRef id, QName type, QName baseType, long transactionId, Map> properties,
                        List aspects) {
        this.id = id;
        this.type = type;
        this.baseType = baseType;
        this.transactionId = transactionId;
        this.properties = properties;
        this.aspects = aspects;
    }

    @Override
    public String toString() {
        return "NodeMetadata{" +
                "id='" + id + '\'' +
                ", type='" + type + '\'' +
                ", baseType=" + baseType + '\'' +
                ", transactionId=" + transactionId +
                ", properties=" + (properties != null ? properties.entrySet() : "") +
                ", aspects=" + aspects +
                '}';
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy