All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.myfaces.trinidad.share.io.InputStreamProvider Maven / Gradle / Ivy

The newest version!
/*
 * 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.myfaces.trinidad.share.io;

import java.io.InputStream;
import java.io.IOException;

/**
 * InputStreamProviders encapsulate a single target file. An InputStreamProvider is used to 
 * get an inputStream, cache results and see if the file has been modified. 
 * (There's no real requirement that there be a physical file
 * at the target location).
 * 

* @version $Name: $ ($Revision: adfrt/faces/adf-faces-impl/src/main/java/oracle/adfinternal/view/faces/share/io/InputStreamProvider.java#0 $) $Date: 10-nov-2005.19:00:08 $ */ public interface InputStreamProvider { /** * Return an InputStream for the target. This function * should never return null - if a stream cannot be opened, * throw an IOException. */ public InputStream openInputStream() throws IOException; /** * Returns the name of the target location, suitable * for user display. */ public String getDisplayName(); /** * Returns an identifier object that uniquely * identifies the target location. If two providers * return equal identifiers, that is, given: *

   *   Object identifierA = providerA.getIdentifier();
   *   Object identifierB = providerB.getIdentifier();
   * 
* ... then: *
   *   if (identifierA.equals(identifierB)) ...
   * 
* then the two providers must point to the same location. */ public Object getIdentifier(); /** * Returns true if the underlying target has changed * since the last call to openInputStream() */ public boolean hasSourceChanged(); /** * Returns the cached result from reading and parsing this * provider. * @see CachingNameResolver */ public Object getCachedResult(); /** * Stores the cached result of reading and parsing this * provider. * @see CachingNameResolver */ public void setCachedResult(Object value); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy