package org.apache.samoa.topology; /* * #%L * SAMOA * %% * Copyright (C) 2014 - 2015 Apache Software Foundation * %% * 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. * #L% */ public interface Topology { /* * Name */ /** * Get the topology's name * * @return the name of the topology */ public String getTopologyName(); /** * Set the topology's name * * @param topologyName * the name of the topology */ public void setTopologyName(String topologyName); /* * Entrance Processing Items */ /** * Add an EntranceProcessingItem to this topology * * @param epi * the EntranceProcessingItem to be added */ void addEntranceProcessingItem(EntranceProcessingItem epi); /* * Processing Items */ /** * Add a ProcessingItem to this topology with default parallelism level (i.e. 1) * * @param procItem * the ProcessingItem to be added */ void addProcessingItem(IProcessingItem procItem); /** * Add a ProcessingItem to this topology with an associated parallelism level * * @param procItem * the ProcessingItem to be added * @param parallelismHint * the parallelism level */ void addProcessingItem(IProcessingItem procItem, int parallelismHint); /* * Streams */ /** * * @param stream */ void addStream(Stream stream); }