View Javadoc

1   /*
2    * #%L
3    * prolobjectlink-jpi
4    * %%
5    * Copyright (C) 2019 Prolobjectlink Project
6    * %%
7    * Permission is hereby granted, free of charge, to any person obtaining a copy
8    * of this software and associated documentation files (the "Software"), to deal
9    * in the Software without restriction, including without limitation the rights
10   * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11   * copies of the Software, and to permit persons to whom the Software is
12   * furnished to do so, subject to the following conditions:
13   * 
14   * The above copyright notice and this permission notice shall be included in
15   * all copies or substantial portions of the Software.
16   * 
17   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23   * THE SOFTWARE.
24   * #L%
25   */
26  package io.github.prolobjectlink.prolog;
27  
28  /**
29   * Contains all PrologTerm types constants
30   * 
31   * @author Jose Zalacain
32   * @since 1.0
33   */
34  public final class PrologTermType {
35  
36  	// constant for prolog variables
37  
38  	/**
39  	 * Variable type constant
40  	 */
41  	public static final int VARIABLE_TYPE = 0x100;
42  
43  	// constants for prolog numbers
44  
45  	/**
46  	 * Integer type constant
47  	 */
48  	public static final int INTEGER_TYPE = 0x200;
49  
50  	/**
51  	 * Long type constant
52  	 */
53  	public static final int LONG_TYPE = 0x201;
54  
55  	/**
56  	 * Float type constant
57  	 */
58  	public static final int FLOAT_TYPE = 0x202;
59  
60  	/**
61  	 * Double type constant
62  	 */
63  	public static final int DOUBLE_TYPE = 0x203;
64  
65  	// constant for prolog atoms
66  
67  	/**
68  	 * Atom type constant
69  	 */
70  	public static final int ATOM_TYPE = 0x300;
71  
72  	/**
73  	 * Nil type constant
74  	 */
75  	public static final int NIL_TYPE = 0x301;
76  
77  	/**
78  	 * False type constant
79  	 */
80  	public static final int FALSE_TYPE = 0x302;
81  
82  	/**
83  	 * True type constant
84  	 */
85  	public static final int TRUE_TYPE = 0x303;
86  
87  	/**
88  	 * Cut type constant
89  	 */
90  	public static final int CUT_TYPE = 0x304;
91  
92  	/**
93  	 * Fail type constant
94  	 */
95  	public static final int FAIL_TYPE = 0x305;
96  
97  	// constant for special objects
98  
99  	/**
100 	 * Object type constant
101 	 */
102 	public static final int OBJECT_TYPE = 0x400;
103 
104 	/**
105 	 * Stream type constant
106 	 */
107 	public static final int STREAM_TYPE = 0x401;
108 
109 	// constants for prolog list and prolog structure
110 
111 	/**
112 	 * List type constant
113 	 */
114 	public static final int LIST_TYPE = 0x501;
115 
116 	/**
117 	 * Structure type constant
118 	 */
119 	public static final int STRUCTURE_TYPE = 0x502;
120 
121 	/**
122 	 * Map Entry type constant
123 	 */
124 	public static final int MAP_ENTRY_TYPE = 0x503;
125 
126 	/**
127 	 * Map type constant
128 	 */
129 	public static final int MAP_TYPE = 0x504;
130 
131 	/**
132 	 * Interface type constant
133 	 */
134 	public static final int MIXIN_TYPE = 0x505;
135 
136 	/**
137 	 * Class type constant
138 	 */
139 	public static final int CLASS_TYPE = 0x506;
140 
141 	/**
142 	 * Namespace type constant
143 	 */
144 	public static final int NAMESPACE_TYPE = 0x507;
145 
146 	/**
147 	 * Field type constant
148 	 */
149 	public static final int FIELD_TYPE = 0x508;
150 
151 	/**
152 	 * Method type constant
153 	 */
154 	public static final int METHOD_TYPE = 0x509;
155 
156 	/**
157 	 * Result type constant
158 	 */
159 	public static final int RESULT_TYPE = 0x50A;
160 
161 	/**
162 	 * Parameter type constant
163 	 */
164 	public static final int PARAMETER_TYPE = 0x50B;
165 
166 	private PrologTermType() {
167 	}
168 
169 }