You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ac...@apache.org on 2007/07/02 18:02:59 UTC

svn commit: r552522 - in /poi/trunk/src/java/org/apache/poi/hssf/record: ObjectProtectRecord.java ScenarioProtectRecord.java

Author: acoliver
Date: Mon Jul  2 09:02:58 2007
New Revision: 552522

URL: http://svn.apache.org/viewvc?view=rev&rev=552522
Log:
oops...forgot these

Added:
    poi/trunk/src/java/org/apache/poi/hssf/record/ObjectProtectRecord.java
    poi/trunk/src/java/org/apache/poi/hssf/record/ScenarioProtectRecord.java

Added: poi/trunk/src/java/org/apache/poi/hssf/record/ObjectProtectRecord.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/ObjectProtectRecord.java?view=auto&rev=552522
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/record/ObjectProtectRecord.java (added)
+++ poi/trunk/src/java/org/apache/poi/hssf/record/ObjectProtectRecord.java Mon Jul  2 09:02:58 2007
@@ -0,0 +1,129 @@
+
+/* ====================================================================
+   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.poi.hssf.record;
+
+import org.apache.poi.util.LittleEndian;
+
+/**
+ * Title: Object Protect Record<P>
+ * Description: Protect embedded object with the lamest "security" ever invented.  
+ * This record tells  "I want to protect my objects" with lame security.  It 
+ * appears in conjunction with the PASSWORD and PROTECT records as well as its 
+ * scenario protect cousin.<P>
+ * REFERENCE:  PG 368 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P>
+ * @author Andrew C. Oliver (acoliver at apache dot org)
+ */
+
+public class ObjectProtectRecord
+    extends Record
+{
+    public final static short sid = 0x63;
+    private short             field_1_protect;
+
+    public ObjectProtectRecord()
+    {
+    }
+
+    /**
+     * Constructs a Protect record and sets its fields appropriately.
+     * @param in the RecordInputstream to read the record from
+     */
+
+    public ObjectProtectRecord(RecordInputStream in)
+    {
+        super(in);
+    }
+
+    protected void validateSid(short id)
+    {
+        if (id != sid)
+        {
+            throw new RecordFormatException("NOT AN OBJECTPROTECT RECORD");
+        }
+    }
+
+    protected void fillFields(RecordInputStream in)
+    {
+        field_1_protect = in.readShort();
+    }
+
+    /**
+     * set whether the sheet is protected or not
+     * @param protect whether to protect the sheet or not
+     */
+
+    public void setProtect(boolean protect)
+    {
+        if (protect)
+        {
+            field_1_protect = 1;
+        }
+        else
+        {
+            field_1_protect = 0;
+        }
+    }
+
+    /**
+     * get whether the sheet is protected or not
+     * @return whether to protect the sheet or not
+     */
+
+    public boolean getProtect()
+    {
+        return (field_1_protect == 1);
+    }
+
+    public String toString()
+    {
+        StringBuffer buffer = new StringBuffer();
+
+        buffer.append("[SCENARIOPROTECT]\n");
+	    buffer.append("    .protect         = ").append(getProtect())
+            .append("\n");
+        buffer.append("[/SCENARIOPROTECT]\n");
+        return buffer.toString();
+    }
+
+    public int serialize(int offset, byte [] data)
+    {
+        LittleEndian.putShort(data, 0 + offset, sid);
+        LittleEndian.putShort(data, 2 + offset,
+                              (( short ) 0x02));   // 2 bytes (6 total)
+        LittleEndian.putShort(data, 4 + offset, field_1_protect);
+        return getRecordSize();
+    }
+
+    public int getRecordSize()
+    {
+        return 6;
+    }
+
+    public short getSid()
+    {
+        return sid;
+    }
+
+    public Object clone() {
+        ObjectProtectRecord rec = new ObjectProtectRecord();
+        rec.field_1_protect = field_1_protect;
+        return rec;
+    }
+}

Added: poi/trunk/src/java/org/apache/poi/hssf/record/ScenarioProtectRecord.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/ScenarioProtectRecord.java?view=auto&rev=552522
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/record/ScenarioProtectRecord.java (added)
+++ poi/trunk/src/java/org/apache/poi/hssf/record/ScenarioProtectRecord.java Mon Jul  2 09:02:58 2007
@@ -0,0 +1,130 @@
+
+/* ====================================================================
+   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.poi.hssf.record;
+
+import org.apache.poi.util.LittleEndian;
+
+/**
+ * Title: Scenario Protect Record<P>
+ * Description:  I have no idea what a Scenario is or why on would want to 
+ * protect it with the lamest "security" ever invented.  However this record tells
+ * excel "I want to protect my scenarios" (0xAF) with lame security.  It appears 
+ * in conjunction with the PASSWORD and PROTECT records as well as its object 
+ * protect cousin.<P>
+ * REFERENCE:  PG 383 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P>
+ * @author Andrew C. Oliver (acoliver at apache dot org)
+ */
+
+public class ScenarioProtectRecord
+    extends Record
+{
+    public final static short sid = 0xdd;
+    private short             field_1_protect;
+
+    public ScenarioProtectRecord()
+    {
+    }
+
+    /**
+     * Constructs a Protect record and sets its fields appropriately.
+     * @param in the RecordInputstream to read the record from
+     */
+
+    public ScenarioProtectRecord(RecordInputStream in)
+    {
+        super(in);
+    }
+
+    protected void validateSid(short id)
+    {
+        if (id != sid)
+        {
+            throw new RecordFormatException("NOT A SCENARIOPROTECT RECORD");
+        }
+    }
+
+    protected void fillFields(RecordInputStream in)
+    {
+        field_1_protect = in.readShort();
+    }
+
+    /**
+     * set whether the sheet is protected or not
+     * @param protect whether to protect the sheet or not
+     */
+
+    public void setProtect(boolean protect)
+    {
+        if (protect)
+        {
+            field_1_protect = 1;
+        }
+        else
+        {
+            field_1_protect = 0;
+        }
+    }
+
+    /**
+     * get whether the sheet is protected or not
+     * @return whether to protect the sheet or not
+     */
+
+    public boolean getProtect()
+    {
+        return (field_1_protect == 1);
+    }
+
+    public String toString()
+    {
+        StringBuffer buffer = new StringBuffer();
+
+        buffer.append("[SCENARIOPROTECT]\n");
+	    buffer.append("    .protect         = ").append(getProtect())
+            .append("\n");
+        buffer.append("[/SCENARIOPROTECT]\n");
+        return buffer.toString();
+    }
+
+    public int serialize(int offset, byte [] data)
+    {
+        LittleEndian.putShort(data, 0 + offset, sid);
+        LittleEndian.putShort(data, 2 + offset,
+                              (( short ) 0x02));   // 2 bytes (6 total)
+        LittleEndian.putShort(data, 4 + offset, field_1_protect);
+        return getRecordSize();
+    }
+
+    public int getRecordSize()
+    {
+        return 6;
+    }
+
+    public short getSid()
+    {
+        return sid;
+    }
+
+    public Object clone() {
+        ScenarioProtectRecord rec = new ScenarioProtectRecord();
+        rec.field_1_protect = field_1_protect;
+        return rec;
+    }
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org