~psmay/+junk/passe

« back to all changes in this revision

Viewing changes to src/us/wxy/passe/fcgi/Type.java

  • Committer: Peter S. May
  • Date: 2013-04-25 11:44:37 UTC
  • Revision ID: peter_s._may_httppsmay.com-20130425114437-6pjrr00esubg1ou3
Removed classes replaced by Protocol.java.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Copyright (c) 2013 Peter S. May
3
 
 * 
4
 
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
5
 
 * associated documentation files (the "Software"), to deal in the Software without restriction,
6
 
 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
7
 
 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
8
 
 * furnished to do so, subject to the following conditions:
9
 
 * 
10
 
 * The above copyright notice and this permission notice shall be included in all copies or
11
 
 * substantial portions of the Software.
12
 
 * 
13
 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
14
 
 * NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
15
 
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
16
 
 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
 
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
 
 */
19
 
 
20
 
package us.wxy.passe.fcgi;
21
 
 
22
 
enum Type {
23
 
  BEGIN_REQUEST(1, true, false, false), ABORT_REQUEST(2, true, false, false), END_REQUEST(3, false,
24
 
      false, false), PARAMS(4, true, false, true), STDIN(5, true, false, true), STDOUT(6, false,
25
 
      false, true), STDERR(7, false, false, true), DATA(8, true, false, true), GET_VALUES(9, true,
26
 
      true, false), GET_VALUES_RESULT(10, false, true, false), UNKNOWN_TYPE(11, false, true, false);
27
 
 
28
 
  private final byte value;
29
 
  private final boolean incoming, management, streaming;
30
 
 
31
 
  private Type(int value, boolean incoming, boolean management, boolean streaming) {
32
 
    this.value = (byte) value;
33
 
    this.incoming = incoming;
34
 
    this.management = management;
35
 
    this.streaming = streaming;
36
 
  }
37
 
 
38
 
  public static Type valueOf(byte value) {
39
 
    for (Type z : Type.values()) {
40
 
      if (z.byteValue() == value) return z;
41
 
    }
42
 
    return null;
43
 
  }
44
 
 
45
 
  public boolean isIncoming() {
46
 
    return incoming;
47
 
  }
48
 
 
49
 
  public boolean isManagement() {
50
 
    return management;
51
 
  }
52
 
 
53
 
  public boolean isStreaming() {
54
 
    return streaming;
55
 
  }
56
 
 
57
 
  public byte byteValue() {
58
 
    return value;
59
 
  }
60
 
}