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}