001/* 002 * $Id: FrameDirtyInfo.java,v 1.7 2011/03/24 16:06:32 davep Exp $ 003 * 004 * This file is part of McIDAS-V 005 * 006 * Copyright 2007-2011 007 * Space Science and Engineering Center (SSEC) 008 * University of Wisconsin - Madison 009 * 1225 W. Dayton Street, Madison, WI 53706, USA 010 * https://www.ssec.wisc.edu/mcidas 011 * 012 * All Rights Reserved 013 * 014 * McIDAS-V is built on Unidata's IDV and SSEC's VisAD libraries, and 015 * some McIDAS-V source code is based on IDV and VisAD source code. 016 * 017 * McIDAS-V is free software; you can redistribute it and/or modify 018 * it under the terms of the GNU Lesser Public License as published by 019 * the Free Software Foundation; either version 3 of the License, or 020 * (at your option) any later version. 021 * 022 * McIDAS-V is distributed in the hope that it will be useful, 023 * but WITHOUT ANY WARRANTY; without even the implied warranty of 024 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 025 * GNU Lesser Public License for more details. 026 * 027 * You should have received a copy of the GNU Lesser Public License 028 * along with this program. If not, see http://www.gnu.org/licenses. 029 */ 030 031package edu.wisc.ssec.mcidasv.data; 032 033 034/** 035 * Class FrameDirtyInfo Holds the state of 036 * the frame components from McIdas-X 037 */ 038public class FrameDirtyInfo { 039 040 /** Which frame number is this for */ 041 public int frameNumber = 0; 042 043 /** Dirty status of each component */ 044 public boolean dirtyImage = false; 045 public boolean dirtyGraphics = false; 046 public boolean dirtyColorTable = false; 047 048 /** 049 * Constructor 050 */ 051 public FrameDirtyInfo() {} 052 053 /** 054 * Copy constructor 055 * 056 * @param that The FrameDirtyInfo to copy 057 * 058 */ 059 public FrameDirtyInfo(FrameDirtyInfo that) { 060 this.frameNumber = that.frameNumber; 061 this.dirtyImage = that.dirtyImage; 062 this.dirtyGraphics = that.dirtyGraphics; 063 this.dirtyColorTable = that.dirtyColorTable; 064 } 065 066 /** 067 * Constructor 068 */ 069 public FrameDirtyInfo( int frameNumber, boolean isDirtyImage, boolean isDirtyGraphics, boolean isDirtyColorTable) { 070 this.frameNumber = frameNumber; 071 this.dirtyImage = isDirtyImage; 072 this.dirtyGraphics = isDirtyGraphics; 073 this.dirtyColorTable = isDirtyColorTable; 074 } 075 076 /** 077 * Get the frameNumber property. 078 * 079 * @return The frameNumber property. 080 */ 081 public int getFrameNumber() { 082 return this.frameNumber; 083 } 084 085 /** 086 * Get the dirtyImage property. 087 * 088 * @return The dirtyImage property. 089 */ 090 public boolean getDirtyImage() { 091 return this.dirtyImage; 092 } 093 094 /** 095 * Get the dirtyGraphics property. 096 * 097 * @return The dirtyGraphics property. 098 */ 099 public boolean getDirtyGraphics() { 100 return this.dirtyGraphics; 101 } 102 103 104 /** 105 * Get the dirtyColorTable property. 106 * 107 * @return The dirtyColorTable property. 108 */ 109 public boolean getDirtyColorTable() { 110 return this.dirtyColorTable; 111 } 112 113 /** 114 * Set the frameNumber property. 115 * 116 * @param newValue The new vaue for the frameNumber property. 117 */ 118 public void setFrameNumber(int newValue) { 119 this.frameNumber = newValue; 120 } 121 122 /** 123 * Set the dirtyImage property. 124 * 125 * @param newValue The new vaue for the dirtyImage property. 126 */ 127 public void setDirtyImage(boolean newValue) { 128 this.dirtyImage = newValue; 129 } 130 131 /** 132 * Set the dirtyGraphics property. 133 * 134 * @param newValue The new vaue for the dirtyGraphics property. 135 */ 136 public void setDirtyGraphics(boolean newValue) { 137 this.dirtyGraphics = newValue; 138 } 139 140 /** 141 * Set the dirtyColorTable property. 142 * 143 * @param newValue The new vaue for the dirtyColorTable property. 144 */ 145 public void setDirtyColorTable(boolean newValue) { 146 this.dirtyColorTable = newValue; 147 } 148 149 /** 150 * Get a String representation of this object 151 * @return a string representation 152 */ 153 public String toString() { 154 boolean clean = true; 155 StringBuffer buf = new StringBuffer(); 156 buf.append("frame "); 157 buf.append(this.frameNumber); 158 buf.append(": "); 159 if (this.dirtyImage) { 160 if (clean) buf.append("dirty "); 161 else buf.append (", "); 162 clean = false; 163 buf.append("image"); 164 } 165 if (this.dirtyGraphics) { 166 if (clean) buf.append("dirty "); 167 else buf.append (", "); 168 clean = false; 169 buf.append("graphics"); 170 } 171 if (this.dirtyColorTable) { 172 if (clean) buf.append("dirty "); 173 else buf.append (", "); 174 clean = false; 175 buf.append("colortable"); 176 } 177 if (clean) buf.append("clean"); 178 return buf.toString(); 179 } 180 181}