/* * 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.impl; import java.util.ArrayList; import java.util.List; import java.util.Vector; import lotus.domino.NotesException; import org.openntf.domino.ACL; import org.openntf.domino.Database; import org.openntf.domino.Name; import org.openntf.domino.Session; import org.openntf.domino.WrapperFactory; import org.openntf.domino.utils.DominoUtils; // TODO: Auto-generated Javadoc /** * The Class ACLEntry. */ public class ACLEntry extends BaseNonThreadSafe<org.openntf.domino.ACLEntry, lotus.domino.ACLEntry, org.openntf.domino.ACL> implements org.openntf.domino.ACLEntry { /** * Instantiates a new ACL entry. * * @param delegate * the delegate * @param parent * the parent */ protected ACLEntry(final lotus.domino.ACLEntry delegate, final org.openntf.domino.ACL parent) { super(delegate, parent, NOTES_ACLENTRY); } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#disableRole(java.lang.String) */ @Override public void disableRole(final String role) { try { getDelegate().disableRole(role); } catch (NotesException e) { DominoUtils.handleException(e); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#enableRole(java.lang.String) */ @Override public void enableRole(final String role) { try { getDelegate().enableRole(role); } catch (NotesException e) { DominoUtils.handleException(e); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#getLevel() */ @Override public int getLevel() { try { return getDelegate().getLevel(); } catch (NotesException e) { DominoUtils.handleException(e); } return ACL.LEVEL_NOACCESS; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#getName() */ @Override public String getName() { try { return getDelegate().getName(); } catch (NotesException e) { DominoUtils.handleException(e); } return null; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#getNameObject() */ @Override public Name getNameObject() { try { return fromLotus(getDelegate().getNameObject(), Name.SCHEMA, getAncestorSession()); } catch (NotesException e) { DominoUtils.handleException(e); } return null; } /* * (non-Javadoc) * * @see org.openntf.domino.impl.Base#getParent() */ @Override public final ACL getParent() { return parent; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#getRoles() */ @SuppressWarnings("unchecked") @Override public Vector<String> getRoles() { try { return getDelegate().getRoles(); } catch (NotesException e) { DominoUtils.handleException(e); } return null; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#getUserType() */ @Override public int getUserType() { try { return getDelegate().getUserType(); } catch (NotesException e) { DominoUtils.handleException(e); } return ACLEntry.TYPE_UNSPECIFIED; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#isAdminReaderAuthor() */ @Override public boolean isAdminReaderAuthor() { try { return getDelegate().isAdminReaderAuthor(); } catch (NotesException e) { DominoUtils.handleException(e); } return false; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#isAdminServer() */ @Override public boolean isAdminServer() { try { return getDelegate().isAdminServer(); } catch (NotesException e) { DominoUtils.handleException(e); } return false; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#isCanCreateDocuments() */ @Override public boolean isCanCreateDocuments() { try { return getDelegate().isCanCreateDocuments(); } catch (NotesException e) { DominoUtils.handleException(e); } return false; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#isCanCreateLSOrJavaAgent() */ @Override public boolean isCanCreateLSOrJavaAgent() { try { return getDelegate().isCanCreateLSOrJavaAgent(); } catch (NotesException e) { DominoUtils.handleException(e); } return false; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#isCanCreatePersonalAgent() */ @Override public boolean isCanCreatePersonalAgent() { try { return getDelegate().isCanCreatePersonalAgent(); } catch (NotesException e) { DominoUtils.handleException(e); } return false; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#isCanCreatePersonalFolder() */ @Override public boolean isCanCreatePersonalFolder() { try { return getDelegate().isCanCreatePersonalFolder(); } catch (NotesException e) { DominoUtils.handleException(e); } return false; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#isCanCreateSharedFolder() */ @Override public boolean isCanCreateSharedFolder() { try { return getDelegate().isCanCreateSharedFolder(); } catch (NotesException e) { DominoUtils.handleException(e); } return false; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#isCanDeleteDocuments() */ @Override public boolean isCanDeleteDocuments() { try { return getDelegate().isCanDeleteDocuments(); } catch (NotesException e) { DominoUtils.handleException(e); } return false; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#isCanReplicateOrCopyDocuments() */ @Override public boolean isCanReplicateOrCopyDocuments() { try { return getDelegate().isCanReplicateOrCopyDocuments(); } catch (NotesException e) { DominoUtils.handleException(e); } return false; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#isGroup() */ @Override public boolean isGroup() { try { return getDelegate().isGroup(); } catch (NotesException e) { DominoUtils.handleException(e); } return false; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#isPerson() */ @Override public boolean isPerson() { try { return getDelegate().isPerson(); } catch (NotesException e) { DominoUtils.handleException(e); } return false; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#isPublicReader() */ @Override public boolean isPublicReader() { try { return getDelegate().isPublicReader(); } catch (NotesException e) { DominoUtils.handleException(e); } return false; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#isPublicWriter() */ @Override public boolean isPublicWriter() { try { return getDelegate().isPublicWriter(); } catch (NotesException e) { DominoUtils.handleException(e); } return false; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#isRoleEnabled(java.lang.String) */ @Override public boolean isRoleEnabled(final String role) { try { return getDelegate().isRoleEnabled(role); } catch (NotesException e) { DominoUtils.handleException(e); } return false; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#isServer() */ @Override public boolean isServer() { try { return getDelegate().isServer(); } catch (NotesException e) { DominoUtils.handleException(e); } return false; } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#remove() */ @Override public void remove() { try { getDelegate().remove(); } catch (NotesException e) { DominoUtils.handleException(e); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#setAdminReaderAuthor(boolean) */ @Override public void setAdminReaderAuthor(final boolean flag) { try { getDelegate().setAdminReaderAuthor(flag); } catch (NotesException e) { DominoUtils.handleException(e); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#setAdminServer(boolean) */ @Override public void setAdminServer(final boolean flag) { try { getDelegate().setAdminServer(flag); } catch (NotesException e) { DominoUtils.handleException(e); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#setCanCreateDocuments(boolean) */ @Override public void setCanCreateDocuments(final boolean flag) { try { getDelegate().setCanCreateDocuments(flag); } catch (NotesException e) { DominoUtils.handleException(e); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#setCanCreateLSOrJavaAgent(boolean) */ @Override public void setCanCreateLSOrJavaAgent(final boolean flag) { try { getDelegate().setCanCreateLSOrJavaAgent(flag); } catch (NotesException e) { DominoUtils.handleException(e); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#setCanCreatePersonalAgent(boolean) */ @Override public void setCanCreatePersonalAgent(final boolean flag) { try { getDelegate().setCanCreatePersonalAgent(flag); } catch (NotesException e) { DominoUtils.handleException(e); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#setCanCreatePersonalFolder(boolean) */ @Override public void setCanCreatePersonalFolder(final boolean flag) { try { getDelegate().setCanCreatePersonalFolder(flag); } catch (NotesException e) { DominoUtils.handleException(e); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#setCanCreateSharedFolder(boolean) */ @Override public void setCanCreateSharedFolder(final boolean flag) { try { getDelegate().setCanCreateSharedFolder(flag); } catch (NotesException e) { DominoUtils.handleException(e); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#setCanDeleteDocuments(boolean) */ @Override public void setCanDeleteDocuments(final boolean flag) { try { getDelegate().setCanDeleteDocuments(flag); } catch (NotesException e) { DominoUtils.handleException(e); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#setCanReplicateOrCopyDocuments(boolean) */ @Override public void setCanReplicateOrCopyDocuments(final boolean flag) { try { getDelegate().setCanReplicateOrCopyDocuments(flag); } catch (NotesException e) { DominoUtils.handleException(e); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#setGroup(boolean) */ @Override public void setGroup(final boolean flag) { try { getDelegate().setGroup(flag); } catch (NotesException e) { DominoUtils.handleException(e); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#setLevel(int) */ @Override public void setLevel(final int level) { try { getDelegate().setLevel(level); } catch (NotesException e) { DominoUtils.handleException(e); } } /* (non-Javadoc) * @see org.openntf.domino.ACLEntry#setLevel(org.openntf.domino.ACL.Level) */ @Override public void setLevel(final ACL.Level level) { this.setLevel(level.getValue()); } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#setName(java.lang.String) */ @Override public void setName(final String name) { try { getDelegate().setName(name); } catch (NotesException e) { DominoUtils.handleException(e); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#setName(lotus.domino.Name) */ @Override public void setName(final lotus.domino.Name n) { @SuppressWarnings("rawtypes") List recycleThis = new ArrayList(); try { getDelegate().setName(toLotus(n, recycleThis)); } catch (NotesException e) { DominoUtils.handleException(e); } finally { s_recycle(recycleThis); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#setPerson(boolean) */ @Override public void setPerson(final boolean flag) { try { getDelegate().setPerson(flag); } catch (NotesException e) { DominoUtils.handleException(e); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#setPublicReader(boolean) */ @Override public void setPublicReader(final boolean flag) { try { getDelegate().setPublicReader(flag); } catch (NotesException e) { DominoUtils.handleException(e); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#setPublicWriter(boolean) */ @Override public void setPublicWriter(final boolean flag) { try { getDelegate().setPublicWriter(flag); } catch (NotesException e) { DominoUtils.handleException(e); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#setServer(boolean) */ @Override public void setServer(final boolean flag) { try { getDelegate().setServer(flag); } catch (NotesException e) { DominoUtils.handleException(e); } } /* * (non-Javadoc) * * @see org.openntf.domino.ACLEntry#setUserType(int) */ @Override public void setUserType(final int tp) { try { getDelegate().setUserType(tp); } catch (NotesException e) { DominoUtils.handleException(e); } } @Override public final Database getAncestorDatabase() { return parent.getAncestorDatabase(); } @Override public final Session getAncestorSession() { return parent.getAncestorSession(); } @Override protected final WrapperFactory getFactory() { return parent.getAncestorSession().getFactory(); } }