OSDN Git Service

2.102.3-SNAPSHOT 開発開始
[mikutoga/TogaGem.git] / src / main / java / jp / sfjp / mikutoga / bin / parser / ParseStage.java
1 /*
2  * parse-processing stage
3  *
4  * License : The MIT License
5  * Copyright(c) 2010 MikuToga Partners
6  */
7
8 package jp.sfjp.mikutoga.bin.parser;
9
10 import java.util.concurrent.atomic.AtomicInteger;
11
12 /**
13  * パース処理の進行ステージ種別を表す。
14  * <p>ループ構造の識別に用いられる。
15  * <p>enum型と異なり、実行時での要素の追加が可能。
16  */
17 public class ParseStage {
18
19     private static final AtomicInteger LAST_NO = new AtomicInteger(0);
20
21     /** 全インスタンスに割り振られたユニークな番号。変更不可。 */
22     public final int no;
23
24     /**
25      * コンストラクタ。
26      */
27     public ParseStage(){
28         super();
29         this.no = LAST_NO.getAndIncrement();
30         assert this.no >= 0;
31         return;
32     }
33
34     /**
35      * 各インスタンスに割り当てられたユニークな通し番号を返す。
36      * @return 通し番号
37      */
38     public int getNo(){
39         return this.no;
40     }
41
42 }