| /** |
| * 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.netbeans.modules.db.metadata.model.api; |
| |
| import java.util.Collection; |
| import java.util.concurrent.atomic.AtomicInteger; |
| import org.netbeans.modules.db.metadata.model.spi.ForeignKeyImplementation; |
| |
| /** |
| * This class represents a foreign key in a table - a key that refers to the |
| * primary key of another table. |
| * |
| * @author David Van Couvering |
| */ |
| public class ForeignKey extends MetadataElement { |
| private final ForeignKeyImplementation impl; |
| |
| ForeignKey(ForeignKeyImplementation impl) { |
| this.impl = impl; |
| } |
| |
| @Override |
| public Table getParent() { |
| return impl.getParent(); |
| } |
| |
| @Override |
| /** |
| * Return the name of the foreign key. The name of a foreign key may be null |
| */ |
| public String getName() { |
| return impl.getName(); |
| } |
| |
| /** |
| * Get the foreign key columns that comprise this foreign key |
| * |
| * @return the collection of foreign key columns for this foreign key |
| */ |
| public Collection<ForeignKeyColumn> getColumns() { |
| return impl.getColumns(); |
| } |
| |
| /** |
| * Get a specific foreign key column by name |
| * |
| * @param name the name of the foreign key column we are interested in |
| * |
| * @return the foreign key column for this name |
| */ |
| public ForeignKeyColumn getColumn(String name) { |
| return impl.getColumn(name); |
| } |
| |
| /** |
| * Get the internal name of the foreign key. Used to resolve a foreign key |
| * when its real name is null |
| * |
| * @return |
| */ |
| @Override |
| String getInternalName() { |
| return impl.getInternalName(); |
| } |
| } |