Как предотвратить вызов общедоступных методов из определенных классов

У меня есть существующий класс, в который я хочу добавить метод. Но я хочу, чтобы метод вызывался только из определенного метода из определенного класса. Есть ли способ предотвратить этот вызов из других классов / методов?

Например, У меня есть существующий класс A

public final class A
{
    //other stuff available for all classes/methods

    //I want to add a method that does its job only if called from a specific method of a class, for example:

    public void method()
    {
        //proceed if called from Class B.anotherMethod() else throw Exception
    }
}

. Один из способов сделать это - получить StackTrace внутри метода () , а затем подтвердить родительский метод?

Что я ищу это решение, которое является более чистым и целесообразным, например узор или что-то в этом роде.

15
задан 30 March 2011 в 13:15
поделиться