/* ====================================================================
   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.
==================================================================== */

package org.apache.poi.hsmf.datatypes;

/**
 * A variable length {@link PropertyValue} that is backed by a {@link Chunk}
 * TODO Provide a way to link these up with the chunks
 */
public class ChunkBasedPropertyValue extends PropertyValue {
    public ChunkBasedPropertyValue(MAPIProperty property, long flags, byte[] offsetData) {
        super(property, flags, offsetData);
    }
    public ChunkBasedPropertyValue(MAPIProperty property, long flags, byte[] offsetData, Types.MAPIType actualType) {
        super(property, flags, offsetData, actualType);
    }

    @Override
    public Chunk getValue() {
        // TODO Decode the value into an offset
        // TODO Look up the chunk based on that
        return null;
    }

    /**
     * Stores the offset of the chunk as the property value
     */
    public void setValue(Chunk chunk) {
        // TODO
    }
}
