/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.
*/
using System;
using System.Runtime.InteropServices;
namespace Lucene.Net.Documents
{
/// Provides information about what should be done with this Field
public enum FieldSelectorResult
{
///
///
///
INVALID, // TODO: This is kinda a kludgy workaround for the fact enums can't be null
/// Load this every time the is loaded, reading in the data as it is encountered.
/// and should not return null.
///
/// should be called by the Reader.
///
LOAD,
/// Lazily load this . This means the is valid, but it may not actually contain its data until
/// invoked. SHOULD NOT BE USED. is safe to use and should
/// return a valid instance of a .
///
/// should be called by the Reader.
///
LAZY_LOAD,
/// Do not load the . and should return null.
/// is not called.
///
/// should not be called by the Reader.
///
NO_LOAD,
/// Load this field as in the case, but immediately return from loading for the . Thus, the
/// Document may not have its complete set of Fields. and should
/// both be valid for this
///
/// should be called by the Reader.
///
LOAD_AND_BREAK,
/// Expert: Load the size of this rather than its value.
/// Size is measured as number of bytes required to store the field == bytes for a binary or any compressed value, and 2*chars for a String value.
/// The size is stored as a binary value, represented as an int in a byte[], with the higher order byte first in [0]
///
SIZE,
/// Expert: Like but immediately break from the field loading loop, i.e., stop loading further fields, after the size is loaded
SIZE_AND_BREAK
}
}