Unicopia/src/main/java/com/minelittlepony/unicopia/player/IOwned.java

26 lines
458 B
Java
Raw Normal View History

package com.minelittlepony.unicopia.player;
2019-03-12 21:10:48 +01:00
/**
* Interface for things that can be owned.
*
* @param <E> The type of object that owns us.
*/
public interface IOwned<E> {
2019-03-12 21:10:48 +01:00
/**
* Updates the owner of this object.
*/
void setOwner(E owner);
2019-03-12 21:10:48 +01:00
/**
* Gets the owner that holds this object.
*/
E getOwner();
@SuppressWarnings("unchecked")
static <T> IOwned<T> cast(Object o) {
return (IOwned<T>)o;
}
}