jp.crestmuse.cmx.filewrappers
インタフェース NoteGroup


public interface NoteGroup

音符の集まりからなる1つのグループを示すインターフェイスです。


メソッドの概要
 void addNote(MusicXMLWrapper.Note n)
          このグループにNoteを追加します。
 void addSubgroup(NoteGroup g)
          このグループの子に引数として与えたグループを追加します。
 int depth()
          グループの深さを返します。
 java.util.List<MusicXMLWrapper.Note> getAllNotes()
          このグループ以下に所属するサブグループも含めて、 全てのNoteオブジェクトが含まれるリストを返します。
 MusicXMLWrapper.Note getApex()
          このグループの頂点となるNoteオブジェクトを返します。
 double getApexSaliency()
          このグループの頂点がどのぐらい目立っているかを返します。
 java.util.List<MusicXMLWrapper.Note> getNotes()
          このグループに所属するNoteオブジェクトのリストを返します。
 java.util.List<NoteGroup> getSubgroups()
          このグループに所属する子グループのリストを返します。
 boolean isApexInherited()
          グループの頂点が子グループに遺伝するかどうかを返します。
 void makeSubgroup(java.util.List<MusicXMLWrapper.Note> notes)
          このグループ内のノートをグループ化し、子グループとして追加します。
 void setApex(MusicXMLWrapper.Note n)
          このグループの頂点となるNoteを設定します。
 void setApex(MusicXMLWrapper.Note n, double saliency)
          このグループの頂点となるNoteと、どの程度目立っているかを設定します。
 

メソッドの詳細

depth

int depth()
グループの深さを返します。 (トップレベルの深さは1)

戻り値:

isApexInherited

boolean isApexInherited()
グループの頂点が子グループに遺伝するかどうかを返します。

戻り値:
遺伝する時true

getApexSaliency

double getApexSaliency()
このグループの頂点がどのぐらい目立っているかを返します。 具体的な計算方法は規程されていません。 定義されていない場合はDouble.NaNが入るよう実装してください。

戻り値:

getNotes

java.util.List<MusicXMLWrapper.Note> getNotes()
このグループに所属するNoteオブジェクトのリストを返します。 グループが初期化されていれば、空のArrayListが返ります。

戻り値:

getAllNotes

java.util.List<MusicXMLWrapper.Note> getAllNotes()
このグループ以下に所属するサブグループも含めて、 全てのNoteオブジェクトが含まれるリストを返します。 グループが初期化されていれば、空のArrayListが返ります。

戻り値:

getApex

MusicXMLWrapper.Note getApex()
このグループの頂点となるNoteオブジェクトを返します。 定義されていなければnullが返ります。

戻り値:

getSubgroups

java.util.List<NoteGroup> getSubgroups()
このグループに所属する子グループのリストを返します。 グループが初期化されていれば、空のArrayListが返ります。

戻り値:

addNote

void addNote(MusicXMLWrapper.Note n)
このグループにNoteを追加します。

パラメータ:
n - 加えるNoteオブジェクト

addSubgroup

void addSubgroup(NoteGroup g)
このグループの子に引数として与えたグループを追加します。 別に作成したグループを追加するにはこのメソッドを利用してください。 既にこのインスタンスに所属するノートをグループ化する場合はmakeSubgroupを利用してください。

パラメータ:
g -

makeSubgroup

void makeSubgroup(java.util.List<MusicXMLWrapper.Note> notes)
このグループ内のノートをグループ化し、子グループとして追加します。 既にグループに所属するノートを、そのグループの子としてグループ化するにはこのメソッドを利用してください。 別に作成したグループを追加する場合はaddSubgroupを利用してください。

パラメータ:
notes - Noteオブジェクトのリスト

setApex

void setApex(MusicXMLWrapper.Note n)
このグループの頂点となるNoteを設定します。

パラメータ:
n -

setApex

void setApex(MusicXMLWrapper.Note n,
             double saliency)
このグループの頂点となるNoteと、どの程度目立っているかを設定します。 どの程度目立っているかに関しての計算方法は規程されていません。 定義されていない場合は、SetApex(Note n)を利用するか、Double.NaNをセットしてください。

パラメータ:
n - 頂点となるNoteオブジェクト
saliency - どの程度目立っているか