001package net.bramp.ffmpeg.info;
002
003import java.util.List;
004import org.apache.commons.lang3.builder.EqualsBuilder;
005import org.apache.commons.lang3.builder.HashCodeBuilder;
006
007/** Represents a standard audio channel layout composed of individual channels. */
008public class StandardChannelLayout implements ChannelLayout {
009  private final String name;
010  private final List<IndividualChannel> decomposition;
011
012  /** Constructs a new standard channel layout with the given name and channel decomposition. */
013  public StandardChannelLayout(String name, List<IndividualChannel> decomposition) {
014    this.name = name;
015    this.decomposition = decomposition;
016  }
017
018  @Override
019  public String getName() {
020    return name;
021  }
022
023  public List<IndividualChannel> getDecomposition() {
024    return decomposition;
025  }
026
027  @Override
028  public String toString() {
029    return name;
030  }
031
032  @Override
033  public boolean equals(Object obj) {
034    return EqualsBuilder.reflectionEquals(this, obj);
035  }
036
037  @Override
038  public int hashCode() {
039    return HashCodeBuilder.reflectionHashCode(this);
040  }
041}