Spec-Zone .ru
спецификации, руководства, описания, API


javax.xml.registry.infomodel
Ассоциация интерфейса

Все Суперинтерфейсы:
ExtensibleObject, RegistryObject

public interface Association
расширяет RegistryObject

Экземпляр RegistryObject может быть связан с нулем или большим количеством экземпляров RegistryObject. Информационная модель определяет интерфейс Ассоциации, экземпляр которого может использоваться, чтобы связать любые два экземпляра RegistryObject.

Пример Ассоциации

Один пример такой ассоциации между двумя экземплярами ClassificationScheme, где один ClassificationScheme заменяет другой ClassificationScheme как показано в рисунке 1. Это может иметь место, когда новая версия ClassificationScheme представляется. В рисунке 1 мы видим, как Ассоциация определяется между новой версией ClassificationScheme NAICS и более старой версией ClassificationScheme NAICS.

Пример Ассоциации RegistryObject
Рисунок 1. Пример Ассоциации RegistryObject

Исходные и целевые Объекты

Экземпляр Ассоциации представляет ассоциацию между источником RegistryObject и целевым RegistryObject. Они упоминаются как sourceObject и targetObject для экземпляра Ассоциации. Это важно, какой объект является sourceObject и который является targetObject, поскольку это определяет направленную семантику Ассоциации. В примере в рисунке 1 важно заставить более новую версию ClassificationScheme NAICS быть sourceObject и более старой версией NAICS быть targetObject, потому что associationType подразумевает, что sourceObject заменяет targetObject (а не наоборот).

Типы ассоциации

У каждой Ассоциации должен быть атрибут associationType, который идентифицирует тип той ассоциации. Атрибут associationType является ссылкой на Понятие перечисления как определено предопределенным associationType ClassificationScheme в спецификации JAXR. Наш пример использует предопределенное associationType Понятие под названием, Заменяет.

Внутренние Ассоциации

Случай обычного использования для интерфейса Ассоциации - то, когда Пользователь "u" создает Ассоциацию "a" между двумя RegistryObjects "o1" и "o2", где ассоциация "a" и RegistryObjects "o1" и "o2" является объектами, которые создавались тем же самым Пользователем "u". Это - самый простой вариант использования, где ассоциация между двумя объектами, которые принадлежат тому же самому Пользователю, который определяет Ассоциацию. Такие ассоциации упоминаются как внутренние ассоциации. Рисунок 2 расширяет предыдущий пример в рисунке 1 для внутреннего случая ассоциации.

Пример Внутренней Ассоциации
Рисунок 2. Пример Внутренней Ассоциации

Заочная Ассоциация

Информационная модель также позволяет более сложный вариант использования, где Пользователь "u1" создает Ассоциацию "a" между двумя RegistryObjects "o1" и "o2", где ассоциация "a" принадлежит Пользователю "u1", но RegistryObjects "o1" и "o2" принадлежат Пользователю "u2" и Пользователю "u3" соответственно. В этом варианте использования определяется Ассоциация, где или или оба объекта, которые связываются, принадлежат Пользователю, отличающемуся от Пользователя, определяющего Ассоциацию. Такие ассоциации упоминаются как заочные ассоциации. Интерфейс Ассоциации обеспечивает метод удобства, названный isExtramural, который возвращает true, если экземпляром Ассоциации является заочная Ассоциация. Рисунок 3 расширяет предыдущий пример в рисунке 1 для заочного случая ассоциации. Отметьте, что для заочной ассоциации возможно иметь двух отличных Пользователей, а не трех отличных Пользователей как показано в рисунке 3. В таком случае одному из этих двух пользователей принадлежат два из трех включенных объектов (Ассоциация, sourceObject и targetObject).

Пример Заочной Ассоциации
Рисунок 3. Пример Заочной Ассоциации

Подтверждение Ассоциации

Ассоциация, возможно, должна быть подтверждена сторонами, объекты которых включаются в ту Ассоциацию. Этот раздел описывает семантику подтверждения ассоциации включенными сторонами.

Подтверждение Внутренних Ассоциаций

Внутренние ассоциации могут быть просмотрены как объявления истины и не требуют, чтобы никакие явные шаги подтвердили что Ассоциация, как являющаяся истиной. Другими словами внутренние ассоциации неявно рассматриваются быть подтвержденными.

Подтверждение Заочных Ассоциаций

Заочные ассоциации могут быть просмотрены как одностороннее утверждение, которое не может быть просмотрено как истина, пока она не была подтверждена другими (заочными) сторонами (Пользователи "u2" и "u3" в примере). confirmAssociation метод в интерфейсе BusinessLifeCycleManager могут вызвать заочные стороны, которым принадлежат sourceObject или targetObject.

Видимость Неподтвержденных Ассоциаций

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

Возможные государства Подтверждения

Примите наиболее общий случай, где есть три отличных Пользовательских экземпляра как показано в рисунке 23 для заочной Ассоциации. Заочная Ассоциация должна быть подтверждена и другими (заочными) сторонами (Пользователи "u2" и "u3" в примере), чтобы быть полностью подтвержденной. Методы isConfirmedBySourceOwner и isConfiremedByTargetOwner в интерфейсе Ассоциации обеспечивают доступ к состоянию подтверждения и для sourceObject и для targetObject. Третий метод удобства, названный isConfirmed, обеспечивает способ определить, подтверждается ли Ассоциация полностью или нет. Таким образом, есть следующие четыре возможности, связанные с состоянием подтверждения заочной Ассоциации:

Автор:
Фаррух С. Нэджми
См. Также:
RegistryObject

Сводка метода
 Понятие getAssociationType()
          Получает тип ассоциации для этой Ассоциации.
 RegistryObject getSourceObject()
          Получает Объект, который является источником этой Ассоциации.
 RegistryObject getTargetObject()
          Получает Объект, который является целью этой Ассоциации.
 boolean isConfirmed()
          Определяет, была ли Ассоциация подтверждена полностью.
 boolean isConfirmedBySourceOwner()
          Определяет, была ли Ассоциация подтверждена владельцем исходного объекта.
 boolean isConfirmedByTargetOwner()
          Определяет, была ли Ассоциация подтверждена владельцем целевого объекта.
 boolean isExtramural()
          Определяет, является ли Ассоциация заочной или нет.
 void setAssociationType(Concept associationType)
          Устанавливает тип ассоциации для этой Ассоциации.
 void setSourceObject(RegistryObject srcObject)
          Устанавливает Объект, который является источником этой Ассоциации.
 void setTargetObject(RegistryObject targetObject)
          Устанавливает Объект, который является целью этой Ассоциации.
 
Методы, наследованные от интерфейса javax.xml.registry.infomodel.RegistryObject
addAssociation, addAssociations, addClassification, addClassifications, addExternalIdentifier, addExternalIdentifiers, addExternalLink, addExternalLinks, getAssociatedObjects, getAssociations, getAuditTrail, getClassifications, getDescription, getExternalIdentifiers, getExternalLinks, getKey, getLifeCycleManager, getName, getObjectType, getRegistryPackages, getSubmittingOrganization, removeAssociation, removeAssociations, removeClassification, removeClassifications, removeExternalIdentifier, removeExternalIdentifiers, removeExternalLink, removeExternalLinks, setAssociations, setClassifications, setDescription, setExternalIdentifiers, setExternalLinks, setKey, setName, toXML
 
Методы, наследованные от интерфейса javax.xml.registry.infomodel.ExtensibleObject
addSlot, addSlots, getSlot, getSlots, removeSlot, removeSlots
 

Деталь метода

getSourceObject

RegistryObject getSourceObject()
                               throws JAXRException
Получает Объект, который является источником этой Ассоциации.

Уровень возможности: 0

Возвраты:
RegistryObject, который является исходным объектом этой Ассоциации
Броски:
JAXRException - Если провайдер JAXR встречается с внутренней ошибкой

setSourceObject

void setSourceObject(RegistryObject srcObject)
                     throws JAXRException
Устанавливает Объект, который является источником этой Ассоциации.

Уровень возможности: 0

Параметры:
srcObject - RegistryObject, который является исходным объектом этой Ассоциации
Броски:
JAXRException - Если провайдер JAXR встречается с внутренней ошибкой

getTargetObject

RegistryObject getTargetObject()
                               throws JAXRException
Получает Объект, который является целью этой Ассоциации.

Уровень возможности: 0

Возвраты:
RegistryObject, который является целевым объектом этой Ассоциации
Броски:
JAXRException - Если провайдер JAXR встречается с внутренней ошибкой

setTargetObject

void setTargetObject(RegistryObject targetObject)
                     throws JAXRException
Устанавливает Объект, который является целью этой Ассоциации.

Уровень возможности: 0

Параметры:
targetObject - RegistryObject, который является целевым объектом этой Ассоциации
Броски:
JAXRException - Если провайдер JAXR встречается с внутренней ошибкой

getAssociationType

Concept getAssociationType()
                           throws JAXRException
Получает тип ассоциации для этой Ассоциации.

Уровень возможности: 0

Возвраты:
Тип ассоциации для этой Ассоциации, которая является Понятием в AssociationType ClassificationScheme
Броски:
JAXRException - Если провайдер JAXR встречается с внутренней ошибкой

setAssociationType

void setAssociationType(Concept associationType)
                        throws JAXRException
Устанавливает тип ассоциации для этой Ассоциации.

Уровень возможности: 0

Параметры:
associationType - тип ассоциации для этой Ассоциации, которая является Понятием в AssociationType ClassificationScheme
Броски:
JAXRException - Если провайдер JAXR встречается с внутренней ошибкой

isExtramural

boolean isExtramural()
                     throws JAXRException
Определяет, является ли Ассоциация заочной или нет.

Заочная Ассоциация должна быть подтверждена Пользователем (ями), которым принадлежат источник и/или объект targert, если они отличаются от Пользователя, который создает эту заочную ассоциацию. И sourceObject и targetObject владельцы должны подтвердить заочную Ассоциацию для этого, чтобы быть видимыми к третьим сторонам.

Уровень возможности: 0

Возвраты:
true если sourceObject и/или targetObject принадлежат Пользователю, который отличается от Пользователя, который создал Ассоциацию; false иначе
Броски:
JAXRException - Если провайдер JAXR встречается с внутренней ошибкой

isConfirmedBySourceOwner

boolean isConfirmedBySourceOwner()
                                 throws JAXRException
Определяет, была ли Ассоциация подтверждена владельцем исходного объекта.

Уровень возможности: 0

Возвраты:
true если ассоциация была подтверждена владельцем sourceObject; false иначе. Поскольку внутренние Ассоциации всегда возвращают true
Броски:
JAXRException - Если провайдер JAXR встречается с внутренней ошибкой

isConfirmedByTargetOwner

boolean isConfirmedByTargetOwner()
                                 throws JAXRException
Определяет, была ли Ассоциация подтверждена владельцем целевого объекта.

Уровень возможности: 0

Возвраты:
true если ассоциация была подтверждена владельцем targetObject; false иначе. Поскольку внутренние Ассоциации всегда возвращают true
Броски:
JAXRException - Если провайдер JAXR встречается с внутренней ошибкой

isConfirmed

boolean isConfirmed()
                    throws JAXRException
Определяет, была ли Ассоциация подтверждена полностью.

Ассоциация должна только быть видимой к третьим сторонам (не связанный с Ассоциацией), если isConfirmed возвращает true.

Уровень возможности: 0

Возвраты:
true если isConfirmedBySourceOwner и isConfirmedByTargetOwner методы оба возвращают true; false иначе. Поскольку внутренние Ассоциации всегда возвращают true
Броски:
JAXRException - Если провайдер JAXR встречается с внутренней ошибкой
См. Также:
Association#isConfirmedBySourceOwner(), Association#isConfirmedByTargetOwner()


Представьте ошибку или функцию

Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается срокам действия лицензии.

Сгенерированный на 10-February-2011 12:41

free hit counter