Modifier and Type | Method and Description |
---|---|
void |
addView(Polymorphic<T> other)
add another view for this object.
|
abstract boolean |
equals(Object o)
subclasses must override equals.
|
abstract boolean |
isValid()
answer true iff this enhanced node is still underpinned in the graph
by triples appropriate to its type.
|
<X extends T> |
supports(Class<X> t)
return _true_ iff this polymorphic object supports the specified interface.
|
public <X extends T> boolean supports(Class<X> t)
public abstract boolean isValid()
public abstract boolean equals(Object o)
public void addView(Polymorphic<T> other)
other
must be freshly
constructed. To be called by subclasses when they have constructed a
new view for this object.
The method is synchronised because addView is an update operation that may happen in a read context (because of .as()). Synchronising it ensures that simultaneous updates don't end up leaving the rings in an inconsistent state. (It's not clear whether this would actually lead to any problems; it's hard to write tests to expose these issues.) This method is public ONLY so that it can be tested. TODO find a better way to make it testable.
Licenced under the Apache License, Version 2.0