
io.permazen.demo.AbstractHasSatellites Maven / Gradle / Ivy
/*
* Copyright (C) 2015 Archie L. Cobbs. All rights reserved.
*/
package io.permazen.demo;
import io.permazen.JObject;
import io.permazen.util.NavigableSets;
import java.util.NavigableSet;
/**
* Support superclass for {@link HasSatellites} implementations.
*/
public abstract class AbstractHasSatellites> extends AbstractBody implements HasSatellites {
private final Class satelliteType;
protected AbstractHasSatellites(Class satelliteType) {
this.satelliteType = satelliteType;
}
@Override
public NavigableSet getSatellites() {
final NavigableSet satellites = this.getTransaction().queryIndex(
this.satelliteType, "parent", JObject.class).asMap().get(this);
return satellites != null ? satellites : NavigableSets.empty();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy