001 package org.trails.security;
002
003 import org.trails.descriptor.IClassDescriptor;
004
005 public class PropertySecurityRestriction extends SecurityRestriction
006 {
007 private String propertyName;
008
009 public String getPropertyName()
010 {
011 return propertyName;
012 }
013
014 public void setPropertyName(String propertyName)
015 {
016 this.propertyName = propertyName;
017 }
018
019 @Override
020 protected void applyRestriction(IClassDescriptor classDescriptor)
021 {
022 switch (getRestrictionType())
023 {
024 case VIEW:
025 classDescriptor.
026 getPropertyDescriptor(getPropertyName()).
027 setHidden(true);
028 break;
029 case UPDATE:
030 classDescriptor.
031 getPropertyDescriptor(getPropertyName()).
032 setReadOnly(true);
033 break;
034 case REMOVE:
035 classDescriptor.
036 getPropertyDescriptor(getPropertyName()).
037 setReadOnly(true);
038 break;
039 default:
040 break;
041 }
042 }
043
044
045 }