All Downloads are FREE. Search and download functionalities are using the official Maven repository.

core_analytics_search.metamodel.pure Maven / Gradle / Ivy

Enum meta::analytics::search::metamodel::DocumentType
{
  Class,
  DataSpace,
  Diagram,
  Mapping,
  Service,
  DatabaseStore,
  Function,
  Runtime,
  Connection,
  PackageableElement
}

Class meta::analytics::search::metamodel::BaseRootDocument
[
  idNotBlank: $this.id->length() > 0,
  typeNotBlank: $this.type->isNotEmpty()
]
{
  id: String[1];
  type: meta::analytics::search::metamodel::DocumentType[1];
  name: String[1];
  description: String[0..1];
}

Class meta::analytics::search::metamodel::PackageableRootDocument extends  meta::analytics::search::metamodel::BaseRootDocument
{
  stereotypes: String[*];
  projectCoordinates : meta::analytics::search::metamodel::ProjectCoordinates[0..1];
  taggedValues:  Map[0..1];
  package: String[1];
}

Class meta::analytics::search::metamodel::ProjectCoordinates
[
  groupIdNotBlank: $this.groupId->length() > 0,
  artifactIdNotBlank: $this.artifactId->length() > 0,
  versionIdNotBlank: $this.versionId->length() > 0
]
{
  groupId: String[1];
  artifactId: String[1];
  versionId: String[1];
}


// CLASS DOCUMENT
Class meta::analytics::search::metamodel::class::ClassDocument extends meta::analytics::search::metamodel::class::SimpleClassElement, meta::analytics::search::metamodel::PackageableRootDocument
{
}

Class meta::analytics::search::metamodel::class::SimpleClassElement
{
  name: String[1];
  package: String[1];
  properties: meta::analytics::search::metamodel::class::ClassProperty[*];
  taggedValues:  Map[0..1];
  stereotypes: String[*];
}

Class meta::analytics::search::metamodel::class::ClassProperty
{
  name: String[1];
  stereotypes: String[*];
  taggedValues:  Map[0..1];
}

// DATASPACE DOCUMENT
Class meta::analytics::search::metamodel::dataspace::DataSpaceDocument extends meta::analytics::search::metamodel::PackageableRootDocument
{
  defaultExecutionContext: String[1];
  diagrams: String[*];
  executionContexts: meta::analytics::search::metamodel::dataspace::ExecutionContext[*];
  taxonomies: String[*];
}

Class meta::analytics::search::metamodel::dataspace::ExecutionContext
{
  name: String[1];
  mappingPath: String[1];
  runtimePath: String[1];
  classes: meta::analytics::search::metamodel::class::SimpleClassElement[*];
  databaseColumns: meta::analytics::search::metamodel::mapping::DatabaseColumn[*];
}

// DIAGRAM DOCUMENT
Class meta::analytics::search::metamodel::diagram::DiagramDocument extends meta::analytics::search::metamodel::PackageableRootDocument
{
  classes: meta::analytics::search::metamodel::class::SimpleClassElement[*];
}

// MAPPING DOCUMENT
Class meta::analytics::search::metamodel::mapping::MappingDocument extends meta::analytics::search::metamodel::PackageableRootDocument
{
  classes: meta::analytics::search::metamodel::class::SimpleClassElement[*];
  includedMappings: String[*];
}

Class meta::analytics::search::metamodel::mapping::DatabaseColumn
{
  database: String[1];
  schema: String[1];
  table: String[1];
  columns: String[*];
}

// SERVICE DOCUMENT
Class meta::analytics::search::metamodel::service::ServiceDocument extends meta::analytics::search::metamodel::PackageableRootDocument
{
  owners: String[*];
  executions: meta::analytics::search::metamodel::service::Execution[*];
}

Class meta::analytics::search::metamodel::service::Execution
{
  mapping: String[1];
  classes: meta::analytics::search::metamodel::class::SimpleClassElement[*];
  databaseColumns: meta::analytics::search::metamodel::mapping::DatabaseColumn[*];
}

Class meta::analytics::search::metamodel::service::LinkedPropertyElement
{
  name: String[1];
  classPath: String[0..1];
  class: Class[1];
}

// DATABASE DOCUMENT
Class meta::analytics::search::metamodel::database::DatabaseDocument extends meta::analytics::search::metamodel::PackageableRootDocument
{
  schemas: meta::analytics::search::metamodel::database::Schema[*];
  includedStores: String[*];
}

Class meta::analytics::search::metamodel::database::Schema
{
  name: String[1];
  tables: meta::analytics::search::metamodel::database::Table[*];
}

Class meta::analytics::search::metamodel::database::Table
{
  name: String[1];
  columns: String[*];
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy