/* * Copyright 2013 * * 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 org.openntf.domino; import java.io.IOException; import java.io.InputStream; import java.io.Reader; import java.util.Vector; import lotus.domino.XSLTResultTarget; import org.openntf.domino.types.DocumentDescendant; import org.openntf.domino.types.FactorySchema; import org.openntf.domino.types.Resurrectable; import org.xml.sax.InputSource; /** * The Interface Item. */ public interface Item extends Base<lotus.domino.Item>, lotus.domino.Item, org.openntf.domino.ext.Item, Resurrectable, DocumentDescendant, ExceptionDetails { public static enum Flags { PROTECTED(16), SUMMARY(1), AUTHORS(4), READERS(8), NAMES(2), SIGNED(32), ENCRYPTED(64); public static Flags getFlags(final int value) { for (Flags level : Flags.values()) { if (level.getValue() == value) { return level; } } return null; } public static int getFlags(final Item item) { int result = 0; if (item.isSummary()) result = result | SUMMARY.getValue(); if (item.isNames()) result = result | NAMES.getValue(); if (item.isAuthors()) result = result | AUTHORS.getValue(); if (item.isReaders()) result = result | READERS.getValue(); if (item.isProtected()) result = result | PROTECTED.getValue(); if (item.isSigned()) result = result | SIGNED.getValue(); if (item.isEncrypted()) result = result | ENCRYPTED.getValue(); return result; } private final int value_; private Flags(final int value) { value_ = value; } public int getValue() { return value_; } } public static enum Type { ACTIONCD(lotus.domino.Item.ACTIONCD), ASSISTANTINFO(lotus.domino.Item.ASSISTANTINFO), ATTACHMENT(lotus.domino.Item.ATTACHMENT), AUTHORS(lotus.domino.Item.AUTHORS), COLLATION(lotus.domino.Item.COLLATION), DATETIMES(lotus.domino.Item.DATETIMES), EMBEDDEDOBJECT(lotus.domino.Item.EMBEDDEDOBJECT), ERRORITEM(lotus.domino.Item.ERRORITEM), FORMULA(lotus.domino.Item.FORMULA), HTML(lotus.domino.Item.HTML), ICON(lotus.domino.Item.ICON), LSOBJECT(lotus.domino.Item.LSOBJECT), MIME_PART(lotus.domino.Item.MIME_PART), NAMES(lotus.domino.Item.NAMES), NOTELINKS(lotus.domino.Item.NOTELINKS), NOTEREFS(lotus.domino.Item.NOTEREFS), NUMBERS(lotus.domino.Item.NUMBERS), OTHEROBJECT(lotus.domino.Item.OTHEROBJECT), QUERYCD(lotus.domino.Item.QUERYCD), READERS(lotus.domino.Item.READERS), RFC822TEXT(lotus.domino.Item.RFC822TEXT), RICHTEXT(lotus.domino.Item.RICHTEXT), SIGNATURE(lotus.domino.Item.SIGNATURE), TEXT(lotus.domino.Item.TEXT), UNAVAILABLE(lotus.domino.Item.UNAVAILABLE), UNKNOWN(lotus.domino.Item.UNKNOWN), USERDATA(lotus.domino.Item.USERDATA), USERID(lotus.domino.Item.USERID), VIEWMAPDATA(lotus.domino.Item.VIEWMAPDATA), VIEWMAPLAYOUT(lotus.domino.Item.VIEWMAPLAYOUT), // Unfortunately, the XPage DominoDocument cannot handle serialized MIME beans correctly, so we will return a custom datatype of 10001 MIME_BEAN(10001); /** * @Deprecated better use valueOf */ @Deprecated public static Type getType(final int value) { return valueOf(value); } /** * Return the {@link Item.Type} of a numeric value * * @param value * the numeric value * @return a {@link Item.Type} Object */ public static Type valueOf(final int value) { for (Type level : Type.values()) { if (level.getValue() == value) { return level; } } return Type.UNKNOWN; } private final int value_; private Type(final int value) { value_ = value; } public int getValue() { return value_; } } public static class Schema extends FactorySchema<Item, lotus.domino.Item, Document> { @Override public Class<Item> typeClass() { return Item.class; } @Override public Class<lotus.domino.Item> delegateClass() { return lotus.domino.Item.class; } @Override public Class<Document> parentClass() { return Document.class; } }; public static final Schema SCHEMA = new Schema(); /* * (non-Javadoc) * * @see lotus.domino.Item#abstractText(int, boolean, boolean) */ @Override public String abstractText(final int maxLen, final boolean dropVowels, final boolean userDict); /* * (non-Javadoc) * * @see lotus.domino.Item#appendToTextList(java.lang.String) */ @Override public void appendToTextList(final String value); /* * (non-Javadoc) * * @see lotus.domino.Item#appendToTextList(java.util.Vector) */ @SuppressWarnings("rawtypes") @Override public void appendToTextList(final Vector values); /* * (non-Javadoc) * * @see lotus.domino.Item#containsValue(java.lang.Object) */ @Override public boolean containsValue(final Object value); /* * (non-Javadoc) * * @see lotus.domino.Item#copyItemToDocument(lotus.domino.Document) */ @Override public Item copyItemToDocument(final lotus.domino.Document doc); /* * (non-Javadoc) * * @see lotus.domino.Item#copyItemToDocument(lotus.domino.Document, java.lang.String) */ @Override public Item copyItemToDocument(final lotus.domino.Document doc, final String newName); /* * (non-Javadoc) * * @see lotus.domino.Item#getDateTimeValue() */ @Override public DateTime getDateTimeValue(); /* * (non-Javadoc) * * @see lotus.domino.Item#getInputSource() */ @Override public InputSource getInputSource(); /* * (non-Javadoc) * * @see lotus.domino.Item#getInputStream() */ @Override public InputStream getInputStream(); /* * (non-Javadoc) * * @see lotus.domino.Item#getLastModified() */ @Override public DateTime getLastModified(); /* * (non-Javadoc) * * @see lotus.domino.Item#getMIMEEntity() */ @Override public MIMEEntity getMIMEEntity(); /* * (non-Javadoc) * * @see lotus.domino.Item#getName() */ @Override public String getName(); /* * (non-Javadoc) * * @see lotus.domino.Item#getParent() */ @Override public Document getParent(); /* * (non-Javadoc) * * @see lotus.domino.Item#getReader() */ @Override public Reader getReader(); /* * (non-Javadoc) * * @see lotus.domino.Item#getText() */ @Override public String getText(); /* * (non-Javadoc) * * @see lotus.domino.Item#getText(int) */ @Override public String getText(final int maxLen); /* * (non-Javadoc) * * @see lotus.domino.Item#getType() * @Deprecated, better use getTypeEx */ @Override @Deprecated public int getType(); /* * (non-Javadoc) * * @see lotus.domino.Item#getValueCustomData() */ @Override public Object getValueCustomData() throws IOException, ClassNotFoundException; /* * (non-Javadoc) * * @see lotus.domino.Item#getValueCustomData(java.lang.String) */ @Override public Object getValueCustomData(final String dataTypeName) throws IOException, ClassNotFoundException; /* * (non-Javadoc) * * @see lotus.domino.Item#getValueCustomDataBytes(java.lang.String) */ @Override public byte[] getValueCustomDataBytes(final String dataTypeName) throws IOException; /* * (non-Javadoc) * * @see lotus.domino.Item#getValueDateTimeArray() */ @Override public Vector<DateTime> getValueDateTimeArray(); /* * (non-Javadoc) * * @see lotus.domino.Item#getValueDouble() */ @Override public double getValueDouble(); /* * (non-Javadoc) * * @see lotus.domino.Item#getValueInteger() */ @Override public int getValueInteger(); /* * (non-Javadoc) * * @see lotus.domino.Item#getValueLength() */ @Override public int getValueLength(); /* * (non-Javadoc) * * @see lotus.domino.Item#getValues() */ @Override public Vector<Object> getValues(); /* * (non-Javadoc) * * @see lotus.domino.Item#getValueString() */ @Override public String getValueString(); /* * (non-Javadoc) * * @see lotus.domino.Item#isAuthors() */ @Override public boolean isAuthors(); /* * (non-Javadoc) * * @see lotus.domino.Item#isEncrypted() */ @Override public boolean isEncrypted(); /* * (non-Javadoc) * * @see lotus.domino.Item#isNames() */ @Override public boolean isNames(); /* * (non-Javadoc) * * @see lotus.domino.Item#isProtected() */ @Override public boolean isProtected(); /* * (non-Javadoc) * * @see lotus.domino.Item#isReaders() */ @Override public boolean isReaders(); /* * (non-Javadoc) * * @see lotus.domino.Item#isSaveToDisk() */ @Override public boolean isSaveToDisk(); /* * (non-Javadoc) * * @see lotus.domino.Item#isSigned() */ @Override public boolean isSigned(); /* * (non-Javadoc) * * @see lotus.domino.Item#isSummary() */ @Override public boolean isSummary(); /* * (non-Javadoc) * * @see lotus.domino.Item#parseXML(boolean) */ @Override public org.w3c.dom.Document parseXML(final boolean validate) throws IOException; /* * (non-Javadoc) * * @see lotus.domino.Item#remove() */ @Override public void remove(); /* * (non-Javadoc) * * @see lotus.domino.Item#setAuthors(boolean) */ @Override public void setAuthors(final boolean flag); /* * (non-Javadoc) * * @see lotus.domino.Item#setDateTimeValue(lotus.domino.DateTime) */ @Override public void setDateTimeValue(final lotus.domino.DateTime dateTime); /* * (non-Javadoc) * * @see lotus.domino.Item#setEncrypted(boolean) */ @Override public void setEncrypted(final boolean flag); /* * (non-Javadoc) * * @see lotus.domino.Item#setNames(boolean) */ @Override public void setNames(final boolean flag); /* * (non-Javadoc) * * @see lotus.domino.Item#setProtected(boolean) */ @Override public void setProtected(final boolean flag); /* * (non-Javadoc) * * @see lotus.domino.Item#setReaders(boolean) */ @Override public void setReaders(final boolean flag); /* * (non-Javadoc) * * @see lotus.domino.Item#setSaveToDisk(boolean) */ @Override public void setSaveToDisk(final boolean flag); /* * (non-Javadoc) * * @see lotus.domino.Item#setSigned(boolean) */ @Override public void setSigned(final boolean flag); /* * (non-Javadoc) * * @see lotus.domino.Item#setSummary(boolean) */ @Override public void setSummary(final boolean flag); /* * (non-Javadoc) * * @see lotus.domino.Item#setValueCustomData(java.lang.Object) */ @Override public void setValueCustomData(final Object userObj) throws IOException; /* * (non-Javadoc) * * @see lotus.domino.Item#setValueCustomData(java.lang.String, java.lang.Object) */ @Override public void setValueCustomData(final String dataTypeName, final Object userObj) throws IOException; /* * (non-Javadoc) * * @see lotus.domino.Item#setValueCustomDataBytes(java.lang.String, byte[]) */ @Override public void setValueCustomDataBytes(final String dataTypeName, final byte[] byteArray) throws IOException; /* * (non-Javadoc) * * @see lotus.domino.Item#setValueDouble(double) */ @Override public void setValueDouble(final double value); /* * (non-Javadoc) * * @see lotus.domino.Item#setValueInteger(int) */ @Override public void setValueInteger(final int value); /* * (non-Javadoc) * * @see lotus.domino.Item#setValues(java.util.Vector) */ @SuppressWarnings("rawtypes") @Override public void setValues(final Vector values); /* * (non-Javadoc) * * @see lotus.domino.Item#setValueString(java.lang.String) */ @Override public void setValueString(final String value); /* * (non-Javadoc) * * @see lotus.domino.Item#transformXML(java.lang.Object, lotus.domino.XSLTResultTarget) */ @Override public void transformXML(final Object style, final XSLTResultTarget result); }