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

org.vertexium.property.MutableProperty Maven / Gradle / Ivy

There is a newer version: 4.10.0
Show newest version
package org.vertexium.property;

import org.vertexium.Property;
import org.vertexium.Visibility;

public abstract class MutableProperty extends Property {
    public abstract void setValue(Object value);

    public abstract void setTimestamp(long timestamp);

    public abstract void setVisibility(Visibility visibility);

    public abstract void addHiddenVisibility(Visibility visibility);

    public abstract void removeHiddenVisibility(Visibility visibility);

    protected abstract void updateMetadata(Property property);

    public void update(Property property) {
        if (property.getHiddenVisibilities() != null) {
            for (Visibility v : property.getHiddenVisibilities()) {
                addHiddenVisibility(v);
            }
        }

        setValue(property.getValue());
        setTimestamp(property.getTimestamp());
        updateMetadata(property);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy