public MyPropertyProvider(ManagedObjectDefinition<?,?> d,PropertyDefinition<?> namingPropertyDefinition,List<String> args) throws ArgumentException {
  for (  String s : args) {
    int sep=s.indexOf(':');
    if (sep < 0) {
      throw ArgumentExceptionFactory.missingSeparatorInPropertyArgument(s);
    }
    if (sep == 0) {
      throw ArgumentExceptionFactory.missingNameInPropertyArgument(s);
    }
    String propertyName=s.substring(0,sep);
    String value=s.substring(sep + 1,s.length());
    if (value.length() == 0) {
      throw ArgumentExceptionFactory.missingValueInPropertyArgument(s);
    }
    PropertyDefinition<?> pd;
    try {
      pd=d.getPropertyDefinition(propertyName);
    }
 catch (    IllegalArgumentException e) {
      throw ArgumentExceptionFactory.unknownProperty(d,propertyName);
    }
    if (pd.equals(namingPropertyDefinition)) {
      throw ArgumentExceptionFactory.unableToSetNamingProperty(d,pd);
    }
    addPropertyValue(d,pd,value);
  }
}

public MyPropertyProvider ( ManagedObjectDefinition < ? , ? > d , PropertyDefinition < ? > namingPropertyDefinition , List < String > args ) throws ArgumentException { for ( String s : args ) { int sep = s . indexOf ( ':' ) ; if ( sep < 0 ) { throw ArgumentExceptionFactory . missingSeparatorInPropertyArgument ( s ) ; } if ( sep == 0 ) { throw ArgumentExceptionFactory . missingNameInPropertyArgument ( s ) ; } String propertyName = s . substring ( 0 , sep ) ; String value = s . substring ( sep + 1 , s . length ( ) ) ; if ( value . length ( ) == 0 ) { throw ArgumentExceptionFactory . missingValueInPropertyArgument ( s ) ; } PropertyDefinition < ? > pd ; try { pd = d . getPropertyDefinition ( propertyName ) ; } catch ( IllegalArgumentException e ) { throw ArgumentExceptionFactory . unknownProperty ( d , propertyName ) ; } if ( pd . equals ( namingPropertyDefinition ) ) { throw ArgumentExceptionFactory . unableToSetNamingProperty ( d , pd ) ; } addPropertyValue ( d , pd , value ) ; } }
create a new property provider using the provided set of property value arguments .
