/*
* Copyright 2013 JBoss Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.artificer.integration.teiid.model;
/**
* The Teiid model file artifact. Also called a schema, the model usually has a <code>*.xmi</code> file extension.
*/
public final class TeiidModel implements TeiidModelObject {
/**
* The Teiid model artifact property names.
*/
public interface PropertyId extends Describable.PropertyId, TeiidModelObject.PropertyId {
/**
* The max set size property name of a model artifact.
*/
String MAX_SET_SIZE = "maxSetSize";
/**
* The model type property name of the model artifact.
*/
String MODEL_TYPE = "modelType";
/**
* The primary metamodel URI property name of the model artifact.
*/
String PRIMARY_METAMODEL_URI = "primaryMetamodelUri";
/**
* The producer name property name of the model artifact.
*/
String PRODUCER_NAME = "producerName";
/**
* The producer version property name of the model artifact.
*/
String PRODUCER_VERSION = "producerVersion";
/**
* The model visibility flag property name of the model artifact.
*/
String VISIBLE = "visible";
}
/**
* The model (<code>*.xmi</code>) related identifiers.
*/
public interface XmiId extends Describable.XmlId {
/**
* The max set size attribute of a model annotation.
*/
String MAX_SET_SIZE = "maxSetSize";
/**
* The model annotation element identifier. One and only one is required.
*/
String MODEL_ANNOTATION = "mmcore:ModelAnnotation";
/**
* The model type attribute of a model annotation.
*/
String MODEL_TYPE = "modelType";
/**
* The name in source of a model annotation.
*/
String NAME_IN_SOURCE = "nameInSource";
/**
* The primary metamodel URI attribute of a model annotation.
*/
String PRIMARY_METAMODEL_URI = "primaryMetamodelUri";
/**
* The producer name attribute of a model annotation.
*/
String PRODUCER_NAME = "ProducerName";
/**
* The producer version attribute of a model annotation.
*/
String PRODUCER_VERSION = "ProducerVersion";
/**
* The XMI root element of a model.
*/
String ROOT_ELEMENT = "XMI";
/**
* The UUID attribute of a model annotation.
*/
String UUID = "xmi:uuid";
/**
* The visibility flag attribute.
*/
String VISIBLE = "visible";
/**
* The XML namespace attribute.
*/
String XML_NAMESPACE = "xmlns";
}
/**
* The artifact type of a Teiid model.
*/
public static final TeiidExtendedType ARTIFACT_TYPE = TeiidArtifactType.MODEL;
/**
* The file extension, including the '.' prefix, of a Teiid model. Value is {@value} .
*/
public static final String FILE_EXT = ".xmi";
}