/*******************************************************************************
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The ASF licenses this file
 * to you 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.apache.olingo.odata2.core.ep.util;

/**
 * String constants for deserialization and serialization of metadata document.
 * 
 */
public class XmlMetadataConstants {
  
  public static final String EDMX_TAG = "Edmx";
  
  public static final String EDM_DATA_SERVICES = "DataServices";
  public static final String EDM_DATA_SERVICE_VERSION = "DataServiceVersion";
  public static final String EDM_SCHEMA = "Schema";
  public static final String EDM_SCHEMA_NAMESPACE = "Namespace";
  public static final String EDM_SCHEMA_ALIAS = "Alias";
  public static final String EDM_ENTITY_TYPE = "EntityType";
  public static final String EDM_COMPLEX_TYPE = "ComplexType";
  public static final String EDM_ASSOCIATION = "Association";
  public static final String EDM_USING = "Using";

  public static final String EDM_NAME = "Name";
  public static final String EDM_TYPE = "Type";
  public static final String EDM_ENTITY_TYPE_KEY = "Key";
  public static final String EDM_TYPE_ABSTRACT = "Abstract";
  public static final String EDM_BASE_TYPE = "BaseType";
  public static final String EDM_PROPERTY_REF = "PropertyRef";

  public static final String EDM_PROPERTY = "Property";
  public static final String EDM_PROPERTY_NULLABLE = "Nullable";
  public static final String EDM_PROPERTY_MAX_LENGTH = "MaxLength";
  public static final String EDM_PROPERTY_MAX_LENGTH_MAX_VALUE_FIRST_UPPERCASE = "Max";
  public static final String EDM_PROPERTY_MAX_LENGTH_MAX_VALUE_LOWERCASE = "max";
  public static final String EDM_PROPERTY_DEFAULT_VALUE = "DefaultValue";
  public static final String EDM_PROPERTY_FIXED_LENGTH = "FixedLength";
  public static final String EDM_PROPERTY_UNICODE = "Unicode";
  public static final String EDM_PROPERTY_COLLATION = "Collation";
  public static final String EDM_PROPERTY_PRECISION = "Precision";
  public static final String EDM_PROPERTY_SCALE = "Scale";
  public static final String EDM_PROPERTY_CONCURRENCY_MODE = "ConcurrencyMode";

  public static final String EDM_NAVIGATION_PROPERTY = "NavigationProperty";
  public static final String EDM_NAVIGATION_FROM_ROLE = "FromRole";
  public static final String EDM_NAVIGATION_TO_ROLE = "ToRole";
  public static final String EDM_NAVIGATION_RELATIONSHIP = "Relationship";

  public static final String EDM_ASSOCIATION_CONSTRAINT = "ReferentialConstraint";
  public static final String EDM_ASSOCIATION_END = "End";

  public static final String EDM_ASSOCIATION_MULTIPLICITY = "Multiplicity";
  public static final String EDM_ASSOCIATION_ONDELETE = "OnDelete";
  public static final String EDM_ONDELETE_ACTION = "Action";

  public static final String EDM_ENTITY_CONTAINER = "EntityContainer";
  public static final String EDM_CONTAINER_IS_DEFAULT = "IsDefaultEntityContainer";
  public static final String EDM_CONTAINER_EXTENDZ = "Extendz";
  public static final String EDM_ENTITY_SET = "EntitySet";
  public static final String EDM_ASSOCIATION_SET = "AssociationSet";
  public static final String EDM_FUNCTION_IMPORT = "FunctionImport";

  public static final String EDM_FUNCTION_IMPORT_HTTP_METHOD = "HttpMethod";
  public static final String EDM_FUNCTION_IMPORT_RETURN = "ReturnType";
  public static final String EDM_FUNCTION_PARAMETER = "Parameter";
  public static final String EDM_FUNCTION_PARAMETER_MODE = "Mode";

  public static final String M_ENTITY_TYPE_HAS_STREAM = "HasStream";
  public static final String M_MIMETYPE = "MimeType";
  public static final String M_FC_TARGET_PATH = "FC_TargetPath";
  public static final String M_FC_SOURCE_PATH = "FC_SourcePath";
  public static final String M_FC_NS_URI = "FC_NsUri";
  public static final String M_FC_PREFIX = "FC_NsPrefix";
  public static final String M_FC_KEEP_IN_CONTENT = "FC_KeepInContent";
  public static final String M_FC_CONTENT_KIND = "FC_ContentKind";
  public static final String EDM_ASSOCIATION_PRINCIPAL = "Principal";
  public static final String EDM_ASSOCIATION_DEPENDENT = "Dependent";

  public static final String EDM_ROLE = "Role";
  public static final String DOCUMENTATION = "Documentation";
  public static final String SUMMARY = "Summary";
  public static final String LONG_DESCRIPTION = "LongDescription";

}
