//------------------------------------------------------------------------------ //------------------------------------------------------------------------------ //-- This source file was automatically generated by Platypus //-- see http://dossen.univ-brest.fr/apl //-- //-- Any modification of this file will be lost. //-- Please see the "platypus" directory instead : it contains the Cheddar's //-- model and its meta-model. //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ //-- Cheddar is a GNU GPL real-time scheduling analysis tool. //-- This program provides services to automatically check schedulability and //-- other performance criteria of real-time architecture models. //-- //-- Copyright (C) 2002-2016 Frank Singhoff, Alain Plantec, Jerome Legrand //-- //-- The Cheddar project was started in 2002 by //-- Frank Singhoff, Lab-STICC UMR 6285 laboratory, Université de Bretagne Occidentale //-- //-- Cheddar has been published in the "Agence de Protection des Programmes/France" in 2008. //-- Since 2008, Ellidiss technologies also contributes to the development of //-- Cheddar and provides industrial support. //-- //-- The full list of contributors and sponsors can be found in AUTHORS.txt and SPONSORS.txt //-- //-- This program is free software; you can redistribute it and/or modify //-- it under the terms of the GNU General Public License as published by //-- the Free Software Foundation; either version 2 of the License, or //-- (at your option) any later version. //-- //-- This program is distributed in the hope that it will be useful, //-- but WITHOUT ANY WARRANTY; without even the implied warranty of //-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //-- GNU General Public License for more details. //-- //-- You should have received a copy of the GNU General Public License //-- along with this program; if not, write to the Free Software //-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //-- //-- //-- Contact : cheddar@listes.univ-brest.fr //-- To post to this mailing list, you must be subscribed //-- (see http//beru.univ-brest.fr/~singhoff/cheddar for details) //-- //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ package cheddar.adl; import java.util.Iterator; import java.util.ArrayList; public class Generic_Cache extends Named_Object { private static String EntityName = "GENERIC_CACHE"; private Integer cache_size_; private Integer line_size_; private Integer associativity_; private Integer block_reload_time_; private Cache_Replacement_Policy_Type replacement_policy_; private Cache_Coherence_Protocol_Type coherence_protocol_; private Cache_Type cache_category_; private ArrayList cache_blocks_; public static String EntityName() { return EntityName; } public String entityName() { return EntityName(); } public void initializeExplicitAttributes() { super.initializeExplicitAttributes(); cache_size_ = 0; line_size_ = 0; associativity_ = 0; block_reload_time_ = 0; replacement_policy_ = Cache_Replacement_Policy_Type.Random; coherence_protocol_ = Cache_Coherence_Protocol_Type.Private_Cache_Protocol; cache_category_ = Cache_Type.Data_Cache_Type; cache_blocks_ = new ArrayList(); } public Generic_Cache () { initializeExplicitAttributes(); } public void setCacheSize ( Integer _v ) { cache_size_ = _v; } public Integer getCacheSize() { return cache_size_; } public void setLineSize ( Integer _v ) { line_size_ = _v; } public Integer getLineSize() { return line_size_; } public void setAssociativity ( Integer _v ) { associativity_ = _v; } public Integer getAssociativity() { return associativity_; } public void setBlockReloadTime ( Integer _v ) { block_reload_time_ = _v; } public Integer getBlockReloadTime() { return block_reload_time_; } public void setReplacementPolicy ( Cache_Replacement_Policy_Type _v ) { replacement_policy_ = _v; } public Cache_Replacement_Policy_Type getReplacementPolicy() { return replacement_policy_; } public void setCoherenceProtocol ( Cache_Coherence_Protocol_Type _v ) { coherence_protocol_ = _v; } public Cache_Coherence_Protocol_Type getCoherenceProtocol() { return coherence_protocol_; } public void setCacheCategory ( Cache_Type _v ) { cache_category_ = _v; } public Cache_Type getCacheCategory() { return cache_category_; } public void setCacheBlocks ( ArrayList _v ) { cache_blocks_ = _v; } public ArrayList getCacheBlocks() { return cache_blocks_; } public int cacheBlocksSize () { return cache_blocks_ == null ? 0 : cache_blocks_.size(); } public Cache_Block cacheBlocksAt (int _pos) { return cache_blocks_.get(_pos); } public void accept(AbstractVisitor visitor ) { visitor.visit((Generic_Cache) this); } protected String attributesXmlString() { String result = super.attributesXmlString(); result = result + "" + getCacheSize() + ""; result = result + "" + getLineSize() + ""; result = result + "" + getAssociativity() + ""; result = result + "" + getBlockReloadTime() + ""; result = result + "" + getReplacementPolicy() + ""; result = result + "" + getCoherenceProtocol() + ""; result = result + "" + getCacheCategory() + ""; result = result + ""; Iterator itor4_cache_blocks = getCacheBlocks().iterator(); while ( itor4_cache_blocks.hasNext() ) { Cache_Block current = itor4_cache_blocks.next(); result = result + current.attributesXmlString(); } result = result + ""; return result; } public String xmlString() { String result; result = ""; result = result + attributesXmlString(); result = result + ""; return (result); } }