Package com.ptc.core.meta.common

See:
          Description

Interface Summary
AssociationIdentifier An Association Identifier identifies both an Attribute and a Type, i.e.
AssociationTypeIdentifier An Association Type Identifier identifies both a VIRTUAL AttributeType and a Type, i.e.
AttributeIdentifier AttributeIdentifier identifies a particular VIRTUAL Attribute instance.
AttributeTypeIdentifier AttributeTypeIdentifier identifies a particular VIRTUAL AttributeType instance.
DataType

Supported API: true

Extendable: false
Definition Definitions represent fundamental pieces of meta data, i.e.
DefinitionIdentifier DefinitionIdentifier identifies a particular Definition instance.
Element Elements represent specific instances of meta data, i.e.
ElementIdentifier ElementIdentifier identifies a particular Element instance.
Identifier Identifiers uniquely identify Definitions and/or Elements from the point of view of a given system.
IdentifierFactory This factory defines the pattern for constructing Identifiers.
IdentifierTranslator

Supported API: true

Extendable: false
InstanceIdentifier InstanceIdentifier gives the identification of a particular object.
InstanceIdentifierTranslator

Supported API: true

Extendable: false
OperationIdentifierConstants Convenience constants for OperationIdentifiers.
Translator

Supported API: true

Extendable: false
TypeIdentifier TypeIdentifier identifies a particular Type instance.
TypeInstanceIdentifier TypeInstanceIdentifier identifies a particular TypeInstance instance.
 

Class Summary
AnalogSet

Supported API: true

Extendable: false
ChangeOperationIdentifier Operation instance representing a change operation.
CompositeSet

Supported API: true

Extendable: false
CreateOperationIdentifier Operation instance representing a create operation.
DataTypesUtility

Supported API: true

Extendable: false
DeleteOperationIdentifier

Supported API: true

Extendable: false
DiscreteSet

Supported API: true

Extendable: false
DisplayOperationIdentifier Operation instance representing a VIEW operation.
EmptySet

Supported API: true

Extendable: false
FloatingPoint Attribute content wrapper for Floating Point.
Hyperlink Attribute content wrapper for HyperLink.
OperationIdentifier OperationIdentifier identifies a particular operation instance.
Ratio Attribute content wrapper for Ratio.
SearchOperationIdentifier Operation instance representing a search operation.
UpdateOperationIdentifier Operation instance representing an update operation.
WildcardSet

Supported API: true

Extendable: false
 

Exception Summary
ComparisonImpossibleException

Supported API: true

Extendable: false
IllegalFormatException

Supported API: true

Extendable: false
 

Package com.ptc.core.meta.common Description

Defines the interfaces and classes that are used to represent, identify, and describe types, attributes, associations, enumerations, enumeration entries, constraints, and applications.

Definitions

Definitions represent specific types, attributes, associations, enumerations, enumeration entries, constraints, or applications. Examples:

Definitions are of a hierarchical nature, and given two Definitions, it is possible to discern whether one Definition is a sub-definition of the other, e.g. Internal Document is a sub-definition of Document; Diameter is a sub-definition of Length; Mass is not a sub-definition of Diameter.

The following names are given to the Definitions:

Concept

Definition Name

Type

Type

Attribute

AttributeType

Association

AssociationType

Enumeration

Enumeration

Enumeration Entry

EnumerationEntry

Constraint

ConstraintType

Application

ApplicationType

The following Definitions have familiar parallels:

Definition Name

Object Oriented Programming

Relational Databases

Type

Class

Table

AttributeType

Primitive field declaration on a Class

Column in a Table

AssociationType

Non-primitive field declaration on a Class

Column of foreign keys in a Table

Elements

Elements represent specific instances of types, attributes, associations, constraints, or applications. (Enumerations and Enumeration Entries do not have an Element form.) Examples:

Elements are instances of Definitions, and given a Definition and an Element, it is possible to discern whether the Element is and instance of the Definition, e.g. Part 244-XGV is an instance of Part; and Part 244-XGV is not and instance of Document.

Given two Elements that represent the same data, it is possible to discern which of the two is the most accurate or up-to-date (i.e. ‘latest’).

The following names are given to the Elements:

Concept

Element Name

Type

TypeInstance

Attribute

Attribute

Association

Association

Constraint

Constraint

Application

Application

The following Elements have familiar parallels:

Element Name

Object Oriented Programming

Relational Databases

TypeInstance

Object

Row in a Table

Attribute

Primitive field on a Object

Cell in a Column in a Table

Association

Non-primitive field on a Object

Cell in a Column of Foreign Keys in a Table

Identifiers

Identifiers are immutable objects that uniquely identify a Definition or Element with respect to a given server.

Identifiers can be converted to external string form.

Given two Definition Identifiers, it is possible to discern whether one identified is a sub-definition of the other identified Definition.

Given a Definition Identifier and an Element Identifier, it is possible to discern whether the identified Element is and instance of the identified Definition.

Given two Element Identifiers that identify the same Element, it is possible to discern which of the two is the most accurate or up-to-date (i.e. ‘latest’).

The following names are given to the Identifiers:

Definition

Element

Definition Identifier

Element Identifier

Type

TypeInstance

TypeIdentifier

TypeInstanceIdentifier

AttributeType

Attribute

AttributeTypeIdentifier

AttributeIdentifier

AssociationType

Association

AssociationTypeIdentifier

AssociationIdentifier

Enumeration

--

EnumerationIdentifier

 

EnumerationEntry

--

EnumerationEntryIdentifier

 

ConstraintType

Constraint

ConstraintTypeIdentifier

ConstraintIdentifier

ApplicationType

Application

ApplicationTypeIdentifier

ApplicationIdentifier

Identifier Factories

All Identifiers can be constructed from external string form through the use of an Identifier Factory. An Identifier Factory provides methods supporting single and bulk mode constructions both with and without context.

Identifier Relationships

Some types of Definitions are always identified in the context of another type of Definition, as indicated below.

Definition

Always defined in the context of

AttributeType

Type

EnumerationEntry

Enumeration

ConstraintType

ApplicationType

These contextual relationships are manifested as relationships between the corresponding Identifiers.

Likewise, the Elements related to these Definitions are always identified in the context of another corresponding Element, as indicated below.

Element

Always defined in the context of

Attribute

TypeInstance

Constraint

Application

These contextual relationships are also manifested as relationships between the corresponding Identifiers.

Association Identifiers simultaneously identify Attributes and Types. For example, the identifier for the association ‘Part is described by Document’ would simultaneously identify the attribute ‘described by‘ on Part and the type of the referenced Document.

Association Identifiers can be constructed with either of the two types that it links as the context. In the previous example, the Association Identifier for ‘described by’ can be in the context of the Type Identifier for Part or for Document. Thus, either of the two following instance diagrams is legitimate (‘data type’ is the Type Identifier for the referenced Type)

In order to indicate which of the two types truly has the association as an attribute, regardless of the way the context was constructed, Association Identifiers have an additional property that indicates which of the two types is the true context.

In the previous example, ‘described by’ is truly an attribute of Part; therefore, the true context of the association is always set to Part:

The following section presents some basic UML diagrams followed by one or more instance diagrams showing what the corresponding Definition Identifier relationship graph(s) would look like. The Type Identifiers with a green fill color are the primary context for the graph. (The choice of which Type Identifier to construct as the primary context will depend on the usage.)

For the following UML diagram:

The corresponding Definition Identifier relationship graph is:

For the following UML diagram:

The corresponding Definition Identifier relationship graph is either of the following, depending on whether ‘Part’ or ‘Document’ is constructed as the primary context:

 

For the following UML diagram:

 

The corresponding Definition Identifier relationship graph is one of the following, depending on whether ‘Part’, ‘Document’, or ‘PartDocLink’ is constructed as the primary context:

 

Type Instance

The Type Instance represents a filtered view of a business object, and provides methods to get a list of all currently contained attributes, manipulate attribute values, get attribute display information, and merge the attribute sets of two type instances that represent the same business object. See details.

Attribute Container

See com.ptc.core.meta.container.common Package Summary

Attribute Content

Immutable data wrappers are used for basic attribute and constraint content: String, Integer, Timestamp, Boolean, FloatingPoint, FloatingPointWithUnits, Ratio, Hyperlink. These data wrappers are used to represent single discrete values for attributes. Additional immutable data wrappers: AnalogSet, DiscreteSet, WildcardSet, EnumeratedSet, EmptySet, CompositeSet, are used to represent one or more valid ranges, discrete values, wildcard expressions, or any union or intersection thereof. See details.