/* * 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 } }