View Javadoc

1   ////////////////////////////////////////////////////////////////////////////////
2   // MillScript-Excel: an Open Spice interpreter and batch website creation tool
3   // Copyright (C) 2005 Open World Ltd, Kevin Rogers
4   //
5   // This file is part of MillScript-Excel.
6   //
7   // MillScript-Excel is free software; you can redistribute it and/or modify it under
8   // the terms of the GNU General Public License as published by the Free
9   // Software Foundation; either version 2 of the License, or (at your option)
10  // any later version.
11  //
12  // MillScript-Excel is distributed in the hope that it will be useful, but WITHOUT
13  // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
15  // more details.
16  //
17  // You should have received a copy of the GNU General Public License along with
18  // MillScript-Excel; if not, write to the Free Software Foundation, Inc., 59 Temple
19  // Place, Suite 330, Boston, MA  02111-1307  USA
20  ////////////////////////////////////////////////////////////////////////////////
21  package org.millscript.office.excel.records;
22  
23  import org.millscript.office.excel.Record;
24  import org.millscript.office.excel.alerts.BIFFAlert;
25  
26  /**
27   * 
28   */
29  public class BoundSheet extends Record {
30  
31      
32      /**
33       * 
34       */
35      public enum Type {
36  
37          WORKSHEET, CHART, VISUAL_BASIC_MODULE;
38  
39          public static Type getType( final int type ) {
40              switch ( type ) {
41                  case 0x00:
42                      return WORKSHEET;
43                  case 0x02:
44                      return CHART;
45                  case 0x06:
46                      return VISUAL_BASIC_MODULE;
47                  default:
48                      throw new BIFFAlert(
49                          "Unknown type for BOUNDSHEET record"
50                      ).culprit( "type", type ).mishap();
51              }
52          }
53  
54      }
55  
56      /**
57       * 
58       */
59      public enum Visibility {
60  
61          VISIBLE, HIDDEN, STRONG_HIDDEN;
62  
63          public static Visibility getVisibility( final int visibility ) {
64              switch ( visibility ) {
65                  case 0x00:
66                      return VISIBLE;
67                  case 0x01:
68                      return HIDDEN;
69                  case 0x02:
70                      return STRONG_HIDDEN;
71                  default:
72                      throw new BIFFAlert(
73                          "Unknown visibility for BOUNDSHEET record"
74                      ).culprit( "visibility", visibility ).mishap();
75              }
76          }
77  
78      }
79  
80      private int absoluteOffsetInStream;
81  
82      private byte[] stringData;
83  
84      private Type type;
85  
86      private Visibility visibility;
87  
88      /**
89       * @param version
90       * @param recordData
91       */
92      public BoundSheet( final int offset, final Visibility v, final Type t, final byte[] b ) {
93          this.absoluteOffsetInStream = offset;
94          this.stringData = b;
95          this.type = t;
96          this.visibility = v;
97      }
98  
99  }