Существует ли мета-язык для Java, который позволяет вам получить доступ к сложным иерархиям объектов? - PullRequest
3 голосов
/ 30 мая 2009

Я оцениваю некоторые потенциальные реализации модели иерархии сложных объектов для моего текущего проекта. Мне интересно, есть ли мета-язык в стиле xpath или что-то подобное, что позволило бы мне запрашивать эти объектные связи.

Кроме того, я уверен, что для задачи, о которой я спрашиваю, используется какой-то очень специфический жаргон - я просто не знаю этого.

Требования:

  • Должно быть сделано в Java (или хотя бы скомпилировано в байт-код Java).
  • Объекты будут иерархически связаны друг с другом с n возможными ссылками. obj1-> obj2-> obj3 -> ...
  • Нам нужно иметь возможность искать любой объект в иерархии на основе свойств объекта или его связи с другими объектами.
  • Объекты будут одного типа.
  • Иерархический поиск должен выполняться во время выполнения.

Я думаю, что мог бы найти здесь свое собственное решение, но мне любопытно, если кто-то умнее меня уже что-то придумал.

Увидев, что приходят некоторые ответы, я думаю, что мне, возможно, потребуется уточнить мой вопрос немного подробнее. В частности, этот инструмент будет использоваться для просмотра набора объектов, которые являются различными версиями родительского объекта.

Например:

[Объект 1 prop1 = "foo" prop2 = "bar" prop3 = "zoop"]

↓ Наследует от объекта выше ↓

[Объект 2 prop1 = "foo и что-то" prop2 = "bar" prop3 = "zoop"]

↓ Наследует от объекта выше ↓

[Объект 3 prop1 = "foo и что-то" prop2 = "bar" prop3 = "zoop 24"]

Ответы [ 3 ]

5 голосов
/ 30 мая 2009

Я считаю, JXPath должен делать то, что вы хотите.

1 голос
/ 30 мая 2009

Вы ищете что-то вроде OGNL , SPEL или Unified EL ?

0 голосов
/ 30 мая 2009

Хорошо, сначала вы должны принять условие, что я сам никогда не использовал это для создания чего-либо, НО, jaxen должен делать такие вещи, которые я помню, и описание на их домашней странице поддерживает что:

" Jaxen - это библиотека XPath с открытым исходным кодом, написанная на Java. Она может быть адаптирована ко многим различным объектным моделям, включая DOM, XOM, dom4j и JDOM. Можно ли также писать адаптеры которые обрабатывают не XML-деревья, такие как скомпилированный байт-код Java или Java-бины, как XML, что позволяет вам запрашивать эти деревья также с помощью XPath. "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...