/* * 2012-3 Red Hat Inc. and/or its affiliates and other contributors. * * 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.overlord.rtgov.service.dependency; import org.overlord.rtgov.analytics.service.ServiceDefinition; import org.overlord.rtgov.analytics.situation.Situation; /** * This class represents a node in the service graph. * */ public class ServiceNode { /** * This boolean property indicates whether the service node * is an initial node in the graph. */ public static final String INITIAL_NODE="InitialNode"; private ServiceDefinition _service=null; private java.util.Set<OperationNode> _operations=new java.util.HashSet<OperationNode>(); private java.util.Map<String,Object> _properties=new java.util.HashMap<String,Object>(); private java.util.List<Situation> _situations=new java.util.ArrayList<Situation>(); /** * The default constructor. */ public ServiceNode() { } /** * This method returns the service definition. * * @return The service definition */ public ServiceDefinition getService() { return (_service); } /** * This method sets the service definition. * * @param sd The service definition */ public void setService(ServiceDefinition sd) { _service = sd; } /** * This method returns the operation nodes. * * @return The operation nodes */ public java.util.Set<OperationNode> getOperations() { return (_operations); } /** * This method returns the operation node associated with * the supplied name. * * @param name The operation name * @return The operation node, or null if not found */ public OperationNode getOperation(String name) { OperationNode ret=null; for (OperationNode opn : _operations) { if (opn.getOperation().getName().equals(name)) { ret = opn; break; } } return (ret); } /** * This method returns the properties associated with * the node. * * @return The properties */ public java.util.Map<String,Object> getProperties() { return (_properties); } /** * This method returns the situations associated with * the node. * * @return The situations */ public java.util.List<Situation> getSituations() { return (_situations); } }