com.speedment.common.codegen.RenderStack Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of codegen Show documentation
Show all versions of codegen Show documentation
An object-oriented code generator for Java that is built using the
Model-View-Controller (MVC) design philosophy.
The newest version!
/*
*
* Copyright (c) 2006-2020, Speedment, Inc. All Rights Reserved.
*
* 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.speedment.common.codegen;
import java.util.stream.Stream;
/**
* Represents the stack of models currently processed by the generator. For an
* example, if a Field
is currently being transformed into a String,
* the stack might look like this:
*
* File → Class → Method → Field
*
*
* @author Emil Forslund
* @see Generator
* @since 2.0
*/
public interface RenderStack {
/**
* Returns a Stream
of all models in the stack of a particular
* type from bottom and up.
*
* @param the type of the models to return
* @param type the type of the models to return
* @return a stream of all models of that type
*/
Stream fromBottom(Class type);
/**
* Returns a Stream
of all models in the stack of a particular
* type from top to bottom.
*
* @param the type of the models to return
* @param type the type of the models to return
* @return a stream of all models of that type
*/
Stream fromTop(Class type);
/**
* Returns true if there are no models in the stack.
*
* @return true if the stack is empty
*/
boolean isEmpty();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy