Есть ли способ обеспечить представление EObject (EMF) только для чтения?
У меня есть модель EMF, и я хочу предоставить представление только для чтения для некоторых объектов в модели (чтобы предотвратить внесение в модель нежелательных изменений).
Есть ли способ обеспечить это (может быть, какой-то прокси / фасад только для чтения для EObjects)? Я не хочу решать это, просто не генерируя сеттеры. На самом деле, я хочу избежать изменения существующих классов моделей, насколько это возможно. Вместо этого я бы предпочел добавить что-то к этому...
Заранее спасибо, Инго
1 ответ
Какой подход вы выберете, вероятно, будет зависеть от более широкой картины того, чего вы пытаетесь достичь.
Если вам нужна структура, которая работает за вас, стоит обратить внимание на EMF-Transaction. Доступ к модели осуществляется через транзакции, и есть поддержка транзакций только для чтения.
Если вы хотите что-то более легкое, вы можете заставить свои объекты emf реализовывать интерфейсы только для чтения. Не должно быть слишком много работы, чтобы добавить шаблон для автоматической генерации их для вас, если вы хотите.
Tas