Open Source Repository

Home /hibernate/hibernate-3.2.6.ga | Repository Home


org/hibernate/mapping/MetaAttribute.java
//$Id: MetaAttribute.java 10658 2006-10-30 15:46:48Z [email protected] $
package org.hibernate.mapping;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;

/**
 * A meta attribute is a named value or values.
 @author Gavin King
 */
public class MetaAttribute implements Serializable {
  private String name;
  private java.util.List values = new ArrayList();

  public MetaAttribute(String name) {
    this.name = name;
  }
  
  public String getName() {
    return name;
  }  

  public java.util.List getValues() {
    return Collections.unmodifiableList(values);
  }

  public void addValue(String value) {
    values.add(value);
  }

  public String getValue() {
    if values.size()!=) {
      throw new IllegalStateException("no unique value");
    }
    return (Stringvalues.get(0);
  }

  public boolean isMultiValued() {
    return values.size()>1;
  }

  public String toString() {
    return "[" + name + "=" + values + "]";
  }
}