子クラスが別のタイプの子クラスを宣言するように強制する簡単な方法を見つけるために、頭脳を絞っています。例えば、私は子クラスが特定の内部クラスを宣言するようにする方法
public final class MessageType1 extends MessageType {
public static final class Subtypes extends MessageSubtypes {
public static int SOME_SUBTYPE = 1;
}
}
public final class MessageType2 extends MessageType {
public static final class Subtypes extends MessageSubtypes {
public static int ANOTHER_SUBTYPE = 1;
}
}
public abstract class MessageType {
public static abstract class MessageSubtypes {
public static int ALL_SUBTYPES = 0;
}
}
を持っているのMessageTypeのすべての子供がMessageSubtypesの独自のバージョンを作成し、それサブタイプに名前を付けるために持っていることを確認する方法はありますか?
または、間違ったサークルで回転している可能性があります。これを行うには、より良い方法があります。基本的には、すべてのメッセージタイプに独自のサブタイプがあり、各サブタイプに値が0のALLというメンバーがあることを確認したいだけです。サブタイプなしでMessageTypeを作成するのはコンパイルしないでください少なくとも使用可能ではないはずです。発生した場合は例外をスローします。
私はこれらのことを行うことはできないと思います。あなたが実際にやろうとしていることを教えてください。 –
私は基本的に非常に小さなpub/subエンジンを使用する複数のクラスの通信ブリッジを作成しています。私はトピックとサブトピックの組み合わせで人々を購読させたいと思っています。すべてのトピックはサブトピックの集合を定義する必要があり、すべてのサブトピックはALLという名前のメンバーを含む必要があります。 –