1 /**
2 * Copyright (c) 2008-2012, http://www.snakeyaml.org
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.yaml.snakeyaml.events;
17
18 /**
19 * The implicit flag of a scalar event is a pair of boolean values that indicate
20 * if the tag may be omitted when the scalar is emitted in a plain and non-plain
21 * style correspondingly.
22 *
23 * @see <a href="http://pyyaml.org/wiki/PyYAMLDocumentation#Events">Events</a>
24 */
25 public class ImplicitTuple {
26 private final boolean plain;
27 private final boolean nonPlain;
28
29 public ImplicitTuple(boolean plain, boolean nonplain) {
30 this.plain = plain;
31 this.nonPlain = nonplain;
32 }
33
34 /**
35 * @return true when tag may be omitted when the scalar is emitted in a
36 * plain style.
37 */
38 public boolean canOmitTagInPlainScalar() {
39 return plain;
40 }
41
42 /**
43 * @return true when tag may be omitted when the scalar is emitted in a
44 * non-plain style.
45 */
46 public boolean canOmitTagInNonPlainScalar() {
47 return nonPlain;
48 }
49
50 public boolean bothFalse() {
51 return !plain && !nonPlain;
52 }
53
54 @Override
55 public String toString() {
56 return "implicit=[" + plain + ", " + nonPlain + "]";
57 }
58 }