Minna daisuki type safety.

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4075 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Michael Bayne
2006-04-28 18:29:46 +00:00
parent ecee4e292e
commit b2896dc7ff
3 changed files with 49 additions and 45 deletions
@@ -1,5 +1,5 @@
//
// $Id: DObjectManager.java,v 1.13 2004/08/27 02:20:20 mdb Exp $
// $Id$
//
// Narya library - tools for developing networked games
// Copyright (C) 2002-2004 Three Rings Design, Inc., All Rights Reserved
@@ -53,7 +53,8 @@ public interface DObjectManager
* created and available, or if there was a problem creating the
* object.
*/
public void createObject (Class dclass, Subscriber target);
public <T extends DObject> void createObject (
Class<T> dclass, Subscriber<T> target);
/**
* Requests that the specified subscriber be subscribed to the object
@@ -68,7 +69,8 @@ public interface DObjectManager
* @see Subscriber#objectAvailable
* @see Subscriber#requestFailed
*/
public void subscribeToObject (int oid, Subscriber target);
public <T extends DObject> void subscribeToObject (
int oid, Subscriber<T> target);
/**
* Requests that the specified subscriber be unsubscribed from the
@@ -78,7 +80,8 @@ public interface DObjectManager
* unsubscription is desired.
* @param target The subscriber to be unsubscribed.
*/
public void unsubscribeFromObject (int oid, Subscriber target);
public <T extends DObject> void unsubscribeFromObject (
int oid, Subscriber<T> target);
/**
* Requests that the specified object be destroyed. Once destroyed an
@@ -1,5 +1,5 @@
//
// $Id: Subscriber.java,v 1.8 2004/08/27 02:20:20 mdb Exp $
// $Id$
//
// Narya library - tools for developing networked games
// Copyright (C) 2002-2004 Three Rings Design, Inc., All Rights Reserved
@@ -38,7 +38,7 @@ package com.threerings.presents.dobj;
* @see SetListener
* @see OidListListener
*/
public interface Subscriber
public interface Subscriber<T extends DObject>
{
/**
* Called when a subscription request has succeeded and the object is
@@ -49,7 +49,7 @@ public interface Subscriber
*
* @see DObjectManager#subscribeToObject
*/
public void objectAvailable (DObject object);
public void objectAvailable (T object);
/**
* Called when a subscription request has failed. The nature of the