Package org.jboss.metadata.ejb.spec

Source Code of org.jboss.metadata.ejb.spec.RelationMetaData

/*     */ package org.jboss.metadata.ejb.spec;
/*     */
/*     */ import java.util.AbstractList;
/*     */ import java.util.List;
/*     */ import javax.xml.bind.annotation.XmlElement;
/*     */ import javax.xml.bind.annotation.XmlTransient;
/*     */ import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
/*     */ import org.jboss.xb.annotations.JBossXmlModelGroup;
/*     */
/*     */ @JBossXmlModelGroup(kind="choice", particles={@org.jboss.xb.annotations.JBossXmlModelGroup.Particle(element=@XmlElement(name="ejb-relation"), type=RelationMetaData.class)})
/*     */ public class RelationMetaData extends NamedMetaDataWithDescriptions
/*     */ {
/*     */   private static final long serialVersionUID = -3955264328575239287L;
/*     */   private RelationRoleMetaData leftRole;
/*     */   private RelationRoleMetaData rightRole;
/*     */
/*     */   public String getEjbRelationName()
/*     */   {
/*  70 */     return getName();
/*     */   }
/*     */
/*     */   public void setEjbRelationName(String ejbRelationName)
/*     */   {
/*  81 */     setName(ejbRelationName);
/*     */   }
/*     */
/*     */   public RelationRoleMetaData getLeftRole()
/*     */   {
/*  91 */     return this.leftRole;
/*     */   }
/*     */
/*     */   @XmlTransient
/*     */   public void setLeftRole(RelationRoleMetaData leftRole)
/*     */   {
/* 103 */     if (leftRole == null)
/* 104 */       throw new IllegalArgumentException("Null leftRole");
/* 105 */     this.leftRole = leftRole;
/* 106 */     leftRole.setRelation(this);
/*     */   }
/*     */
/*     */   public RelationRoleMetaData getRightRole()
/*     */   {
/* 116 */     return this.rightRole;
/*     */   }
/*     */
/*     */   @XmlTransient
/*     */   public void setRightRole(RelationRoleMetaData rightRole)
/*     */   {
/* 128 */     if (rightRole == null)
/* 129 */       throw new IllegalArgumentException("Null rightRole");
/* 130 */     this.rightRole = rightRole;
/* 131 */     rightRole.setRelation(this);
/*     */   }
/*     */
/*     */   @XmlTransient
/*     */   public RelationRoleMetaData getRelatedRole(RelationRoleMetaData role)
/*     */   {
/* 144 */     if (role == this.leftRole)
/* 145 */       return this.rightRole;
/* 146 */     if (role == this.rightRole)
/* 147 */       return this.leftRole;
/* 148 */     throw new IllegalArgumentException(role + " is not a role in this relationship: " + this);
/*     */   }
/*     */
/*     */   public List<RelationRoleMetaData> getEjbRelationshipRoles()
/*     */   {
/* 159 */     return new AbstractList()
/*     */     {
/*     */       public RelationRoleMetaData get(int index)
/*     */       {
/* 164 */         if (index > size())
/*     */         {
/* 166 */           throw new IllegalArgumentException("Index must be less then " + size() + ": " + index);
/*     */         }
/* 168 */         return index == 0 ? RelationMetaData.this.leftRole : RelationMetaData.this.rightRole;
/*     */       }
/*     */
/*     */       public int size()
/*     */       {
/* 174 */         return RelationMetaData.this.leftRole == null ? 1 : RelationMetaData.this.rightRole == null ? 0 : 2;
/*     */       }
/*     */
/*     */       public boolean add(RelationRoleMetaData o)
/*     */       {
/* 180 */         if (RelationMetaData.this.leftRole == null)
/*     */         {
/* 182 */           RelationMetaData.this.setLeftRole(o);
/*     */         }
/* 184 */         else if (RelationMetaData.this.rightRole == null)
/*     */         {
/* 186 */           RelationMetaData.this.setRightRole(o);
/*     */         }
/*     */         else
/*     */         {
/* 190 */           throw new IllegalStateException("Too many roles: " + o);
/*     */         }
/* 192 */         return true;
/*     */       }
/*     */     };
/*     */   }
/*     */
/*     */   @XmlElement(name="ejb-relationship-role")
/*     */   public void setEjbRelationshipRoles(List<RelationRoleMetaData> roleMetaData)
/*     */   {
/* 211 */     throw new UnsupportedOperationException("this list shouldn't be set");
/*     */   }
/*     */ }

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

Related Classes of org.jboss.metadata.ejb.spec.RelationMetaData

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.