1 /**
2 * Copyright (c) 2008-2011, 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
17 package org.yaml.snakeyaml.events;
18
19 /**
20 * The implicit flag of a scalar event is a pair of boolean values that indicate
21 * if the tag may be omitted when the scalar is emitted in a plain and non-plain
22 * style correspondingly.
23 *
24 * @see http://pyyaml.org/wiki/PyYAMLDocumentation#Events
25 */
26 public class ImplicitTuple {
27 private final boolean plain;
28 private final boolean nonPlain;
29
30 public ImplicitTuple(boolean plain, boolean nonplain) {
31 this.plain = plain;
32 this.nonPlain = nonplain;
33 }
34
35 /**
36 * @return true when tag may be omitted when the scalar is emitted in a
37 * plain style.
38 */
39 public boolean canOmitTagInPlainScalar() {
40 return plain;
41 }
42
43 /**
44 * @return true when tag may be omitted when the scalar is emitted in a
45 * non-plain style.
46 */
47 public boolean canOmitTagInNonPlainScalar() {
48 return nonPlain;
49 }
50
51 public boolean bothFalse() {
52 return !plain && !nonPlain;
53 }
54
55 @Override
56 public String toString() {
57 return "implicit=[" + plain + ", " + nonPlain + "]";
58 }
59 }