Package org.jboss.system.metadata

Source Code of org.jboss.system.metadata.ServiceDependencyListValueMetaData

/*     */ package org.jboss.system.metadata;
/*     */
/*     */ import java.io.Serializable;
/*     */ import java.util.ArrayList;
/*     */ import java.util.List;
/*     */ import javax.management.MalformedObjectNameException;
/*     */ import javax.management.ObjectName;
/*     */ import org.jboss.dependency.spi.ControllerState;
/*     */ import org.jboss.system.microcontainer.LifecycleDependencyItem;
/*     */ import org.jboss.system.microcontainer.ServiceControllerContext;
/*     */
/*     */ public class ServiceDependencyListValueMetaData extends AbstractMetaDataVisitorNode
/*     */   implements ServiceValueMetaData, Serializable
/*     */ {
/*     */   private static final long serialVersionUID = 1L;
/*     */   private List<String> dependencies;
/*     */   private List<ObjectName> objectNames;
/*     */
/*     */   public ServiceDependencyListValueMetaData()
/*     */   {
/*     */   }
/*     */
/*     */   public ServiceDependencyListValueMetaData(List<String> dependencies)
/*     */   {
/*  66 */     setDependencies(dependencies);
/*     */   }
/*     */
/*     */   public List<String> getDependencies()
/*     */   {
/*  76 */     if (this.dependencies == null)
/*     */     {
/*  78 */       List result = new ArrayList(this.objectNames.size());
/*  79 */       for (ObjectName objectName : this.objectNames)
/*  80 */         result.add(objectName.getCanonicalName());
/*  81 */       return result;
/*     */     }
/*  83 */     return this.dependencies;
/*     */   }
/*     */
/*     */   public void setDependencies(List<String> dependencies)
/*     */   {
/*  93 */     if (dependencies == null)
/*  94 */       throw new IllegalArgumentException("Null dependencies");
/*  95 */     for (String dependency : dependencies)
/*     */     {
/*  97 */       if (dependency == null) {
/*  98 */         throw new IllegalArgumentException("Null dependency in dependencies");
/*     */       }
/*     */     }
/* 101 */     this.dependencies = dependencies;
/* 102 */     this.objectNames = null;
/*     */   }
/*     */
/*     */   public List<ObjectName> getObjectNames()
/*     */     throws MalformedObjectNameException
/*     */   {
/* 113 */     if (this.objectNames == null)
/*     */     {
/* 115 */       List names = new ArrayList(this.dependencies.size());
/* 116 */       for (String dependency : this.dependencies)
/*     */       {
/* 118 */         if (dependency.trim().length() == 0)
/* 119 */           throw new MalformedObjectNameException("Missing object name in depends-list");
/* 120 */         ObjectName objectName = new ObjectName(dependency);
/* 121 */         if (objectName.isPattern())
/* 122 */           throw new MalformedObjectNameException("ObjectName patterns are not allowed in depends-list: " + dependency);
/* 123 */         names.add(objectName);
/*     */       }
/* 125 */       this.objectNames = names;
/* 126 */       this.dependencies = null;
/*     */     }
/* 128 */     return this.objectNames;
/*     */   }
/*     */
/*     */   public void setObjectNames(List<ObjectName> objectNames)
/*     */   {
/* 138 */     if (objectNames == null)
/* 139 */       throw new IllegalArgumentException("Null objectNames");
/* 140 */     for (ObjectName objectName : objectNames)
/*     */     {
/* 142 */       if (objectName == null) {
/* 143 */         throw new IllegalArgumentException("Null object name in objectNames");
/*     */       }
/*     */     }
/* 146 */     this.objectNames = objectNames;
/*     */   }
/*     */
/*     */   public Object getValue(ServiceValueContext valueContext) throws Exception
/*     */   {
/* 151 */     return getObjectNames();
/*     */   }
/*     */
/*     */   public void visit(ServiceMetaDataVisitor visitor)
/*     */   {
/* 156 */     ServiceControllerContext context = visitor.getControllerContext();
/* 157 */     Object name = context.getName();
/* 158 */     List list = this.dependencies;
/*     */     try
/*     */     {
/* 161 */       List names = getObjectNames();
/* 162 */       list = new ArrayList(names.size());
/* 163 */       for (ObjectName objectName : names)
/* 164 */         list.add(objectName.getCanonicalName());
/*     */     }
/*     */     catch (MalformedObjectNameException ignored)
/*     */     {
/*     */     }
/* 169 */     for (String other : list)
/*     */     {
/* 172 */       visitor.addDependency(new LifecycleDependencyItem(name, other, ControllerState.CREATE));
/* 173 */       visitor.addDependency(new LifecycleDependencyItem(name, other, ControllerState.START));
/*     */     }
/* 175 */     visitor.visit(this);
/*     */   }
/*     */ }

/* Location:           /home/mnovotny/projects/EMBEDDED_JBOSS_BETA3_COMMUNITY/embedded/output/lib/embedded-jboss/lib/jboss-embedded-all.jar
* Qualified Name:     org.jboss.system.metadata.ServiceDependencyListValueMetaData
* JD-Core Version:    0.6.0
*/
TOP

Related Classes of org.jboss.system.metadata.ServiceDependencyListValueMetaData

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.