| /* |
| * 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.nutch.plugin; |
| |
| import java.util.ArrayList; |
| |
| /** |
| * The <code>ExtensionPoint</code> provide meta information of a extension |
| * point. |
| * |
| * @author joa23 |
| */ |
| public class ExtensionPoint { |
| private String ftId; |
| private String fName; |
| private String fSchema; |
| private ArrayList<Extension> fExtensions; |
| |
| /** |
| * Constructor |
| * |
| * @param pId |
| * unique extension point Id |
| * @param pName |
| * name of the extension point |
| * @param pSchema |
| * xml schema of the extension point |
| */ |
| public ExtensionPoint(String pId, String pName, String pSchema) { |
| setId(pId); |
| setName(pName); |
| setSchema(pSchema); |
| fExtensions = new ArrayList<>(); |
| } |
| |
| /** |
| * Returns the unique id of the extension point. |
| * |
| * @return String |
| */ |
| public String getId() { |
| return ftId; |
| } |
| |
| /** |
| * Returns the name of the extension point. |
| * |
| * @return String |
| */ |
| public String getName() { |
| return fName; |
| } |
| |
| /** |
| * Returns a path to the xml schema of a extension point. |
| * |
| * @return String |
| */ |
| public String getSchema() { |
| return fSchema; |
| } |
| |
| /** |
| * Sets the extensionPointId. |
| * |
| * @param pId |
| * extension point id |
| */ |
| private void setId(String pId) { |
| ftId = pId; |
| } |
| |
| /** |
| * Sets the extension point name. |
| * |
| * @param pName |
| */ |
| private void setName(String pName) { |
| fName = pName; |
| } |
| |
| /** |
| * Sets the schema. |
| * |
| * @param pSchema |
| */ |
| private void setSchema(String pSchema) { |
| fSchema = pSchema; |
| } |
| |
| /** |
| * Install a coresponding extension to this extension point. |
| * |
| * @param extension |
| */ |
| public void addExtension(Extension extension) { |
| fExtensions.add(extension); |
| } |
| |
| /** |
| * Returns a array of extensions that lsiten to this extension point |
| * |
| * @return Extension[] |
| */ |
| public Extension[] getExtensions() { |
| return fExtensions.toArray(new Extension[fExtensions.size()]); |
| } |
| |
| } |