/src/main/java/com/alibaba/fastjson/parser/Feature.java
Java | 106 lines | 35 code | 14 blank | 57 comment | 3 complexity | 28b42508f65a0feb6d573240dcd649d7 MD5 | raw file
- /*
- * Copyright 1999-2101 Alibaba Group.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- package com.alibaba.fastjson.parser;
- /**
- * @author wenshao<szujobs@hotmail.com>
- */
- public enum Feature {
- /**
- *
- */
- AutoCloseSource,
- /**
- *
- */
- AllowComment,
- /**
- *
- */
- AllowUnQuotedFieldNames,
- /**
- *
- */
- AllowSingleQuotes,
- /**
- *
- */
- InternFieldNames,
- /**
- *
- */
- AllowISO8601DateFormat,
- /**
- * {"a":1,,,"b":2}
- */
- AllowArbitraryCommas,
- /**
- *
- */
- UseBigDecimal,
-
- /**
- * @since 1.1.2
- */
- IgnoreNotMatch,
- /**
- * @since 1.1.3
- */
- SortFeidFastMatch,
-
- /**
- * @since 1.1.3
- */
- DisableASM,
-
- /**
- * @since 1.1.7
- */
- DisableCircularReferenceDetect,
-
- /**
- * @since 1.1.10
- */
- InitStringFieldAsEmpty
- ;
- private Feature(){
- mask = (1 << ordinal());
- }
- private final int mask;
- public final int getMask() {
- return mask;
- }
- public static boolean isEnabled(int features, Feature feature) {
- return (features & feature.getMask()) != 0;
- }
- public static int config(int features, Feature feature, boolean state) {
- if (state) {
- features |= feature.getMask();
- } else {
- features &= ~feature.getMask();
- }
- return features;
- }
- }