/**
 * Copyright 2016 West Coast Informatics, LLC
 */
package com.wci.umls.server.jpa.content;

import javax.persistence.MappedSuperclass;
import javax.xml.bind.annotation.XmlSeeAlso;

import org.hibernate.envers.Audited;

import com.wci.umls.server.model.content.ComponentHasAttributesAndName;
import com.wci.umls.server.model.content.Subset;
import com.wci.umls.server.model.content.SubsetMember;

/**
 * Abstract JPA and JAXB enabled implementation of {@link SubsetMember}. Used
 * mostly to define the table.
 * @param <T> the member type
 * @param <S> the subset type
 */
@Audited
@MappedSuperclass
@XmlSeeAlso({
    AtomSubsetMemberJpa.class, ConceptSubsetMemberJpa.class
})
public abstract class AbstractSubsetMember<T extends ComponentHasAttributesAndName, S extends Subset>
    extends AbstractComponentHasAttributes implements SubsetMember<T, S> {

  /**
   * Instantiates an empty {@link AbstractSubsetMember}.
   */
  public AbstractSubsetMember() {
    // do nothing
  }

  /**
   * Instantiates a {@link AbstractSubsetMember} from the specified parameters.
   *
   * @param member the subset
   * @param collectionCopy the deep copy
   */
  public AbstractSubsetMember(SubsetMember<T, S> member, boolean collectionCopy) {
    super(member, collectionCopy);
  }

  /* see superclass */
  @Override
  public String getName() {
    return null;
  }

  /* see superclass */
  @Override
  public void setName(String name) {
    // n/a
  }

  @Override
  public String toString() {
    return getClass().getSimpleName() + " [" + super.toString() + ", member="
        + getMember() + ", subset=" + getSubset() + "]";
  }

}

@@ -1,14 +1,16 @@
 /*
-*
 %0A *
+   
  Copyrig
@@ -19,9 +19,9 @@
  201
-6
+5
  Wes
@@ -1204,16 +1204,22 @@
  member,
+%0A     
  boolean
@@ -1450,16 +1450,39 @@
 /a%0A  %7D%0A%0A
+  /* see superclass */%0A
   @Overr
@@ -1613,16 +1613,56 @@
 Member()
+.getId() + %22 - %22 + getMember().getName()
  + %22, su
@@ -1667,16 +1667,24 @@
 subset=%22
+%0A       
  + getSu

Fix toString for subset members