/* * 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; import org.artificer.integration.teiid.model.VdbManifest.VdbManifestExtendedType; import org.artificer.integration.teiid.model.VdbManifest.VdbManifestRelationshipType; /** * The Teiid VDB data policy/role model object. */ public final class VdbDataPolicy { /** * The VDB manifest (<code>vdb.xml</code>) identifiers related to data policy elements. */ public interface ManifestId extends Describable.XmlId { /** * The any authenticated attribute identifier. */ String ANY_AUTHENTICATED = "any-authenticated"; /** * The data policy name attribute identifier. */ String NAME = "name"; /** * The data permission element identifier. */ String PERMISSION = "permission"; /** * The mapped role name element identifier. */ String ROLE_NAME = "mapped-role-name"; /** * The allow create temporary tables attribute identifier. */ String TEMP_TABLE_CREATABLE = "allow-create-temporary-tables"; } /** * Data policy artifact property names. */ public interface PropertyId extends Describable.PropertyId { /** * Indicates if data policy has any authenticated. */ String ANY_AUTHENTICATED = "anyAuthenticated"; /** * A collection of role names. */ String ROLE_NAMES = "roleNames"; /** * Indicates if data policy can create temp tables. */ String TEMP_TABLE_CREATABLE = "tempTableCreatable"; } /** * The artifact type of a Teiid VDB data policy. */ public static final TeiidExtendedType ARTIFACT_TYPE = VdbManifestExtendedType.DATA_POLICY; /** * A relationship between a data policy artifact and its permission artifacts. */ public static final TeiidRelationshipType PERMISSIONS_RELATIONSHIP = VdbManifestRelationshipType.DATA_POLICY_TO_PERMISSIONS; }