| | |
| | | InstantiableElement<C, S> create( |
| | | InstantiableRelationDefinition<? super C, ? super S> r, |
| | | AbstractManagedObjectDefinition<C, S> d, String name) { |
| | | return new InstantiableElement<C, S>(r, d, name); |
| | | return new InstantiableElement<>(r, d, name); |
| | | } |
| | | |
| | | /** The name of the managed object. */ |
| | |
| | | S extends Configuration> OptionalElement<C, S> create( |
| | | OptionalRelationDefinition<? super C, ? super S> r, |
| | | AbstractManagedObjectDefinition<C, S> d) { |
| | | return new OptionalElement<C, S>(r, d); |
| | | return new OptionalElement<>(r, d); |
| | | } |
| | | |
| | | /** The optional relation. */ |
| | |
| | | SetElement<C, S> create( |
| | | SetRelationDefinition<? super C, ? super S> r, |
| | | AbstractManagedObjectDefinition<C, S> d) { |
| | | return new SetElement<C, S>(r, d); |
| | | return new SetElement<>(r, d); |
| | | } |
| | | |
| | | /** The set relation. */ |
| | |
| | | S extends Configuration> SingletonElement<C, S> create( |
| | | SingletonRelationDefinition<? super C, ? super S> r, |
| | | AbstractManagedObjectDefinition<C, S> d) { |
| | | return new SingletonElement<C, S>(r, d); |
| | | return new SingletonElement<>(r, d); |
| | | } |
| | | |
| | | /** The singleton relation. */ |
| | |
| | | |
| | | /** Single instance of a root path. */ |
| | | private static final ManagedObjectPath<RootCfgClient, RootCfg> EMPTY_PATH = |
| | | new ManagedObjectPath<RootCfgClient, RootCfg>( |
| | | new LinkedList<Element<?, ?>>(), null, RootCfgDefn.getInstance()); |
| | | new ManagedObjectPath<>(new LinkedList<Element<?, ?>>(), null, RootCfgDefn.getInstance()); |
| | | |
| | | /** A regular expression used to parse path elements. */ |
| | | private static final Pattern PE_REGEXP = Pattern |
| | |
| | | } |
| | | |
| | | // Parse the elements. |
| | | LinkedList<Element<?, ?>> elements = new LinkedList<Element<?, ?>>(); |
| | | LinkedList<Element<?, ?>> elements = new LinkedList<>(); |
| | | Element<?, ?> lastElement = null; |
| | | AbstractManagedObjectDefinition<?, ?> definition = RootCfgDefn |
| | | .getInstance(); |
| | | AbstractManagedObjectDefinition<?, ?> definition = RootCfgDefn.getInstance(); |
| | | |
| | | if (!ns.startsWith("/")) { |
| | | throw new IllegalArgumentException("Invalid path \"" + ns |
| | |
| | | private static <C extends ConfigurationClient, S extends Configuration> |
| | | ManagedObjectPath<C, S> create( |
| | | LinkedList<Element<?, ?>> elements, Element<C, S> lastElement) { |
| | | return new ManagedObjectPath<C, S>(elements, lastElement |
| | | .getRelationDefinition(), lastElement.getManagedObjectDefinition()); |
| | | return new ManagedObjectPath<>( |
| | | elements, lastElement.getRelationDefinition(), lastElement.getManagedObjectDefinition()); |
| | | } |
| | | |
| | | |
| | |
| | | throw new IllegalArgumentException( |
| | | "Empty or blank managed object names are not allowed"); |
| | | } |
| | | LinkedList<Element<?, ?>> celements = new LinkedList<Element<?, ?>>( |
| | | elements); |
| | | LinkedList<Element<?, ?>> celements = new LinkedList<>(elements); |
| | | celements.add(new InstantiableElement<M, N>(r, d, name)); |
| | | return new ManagedObjectPath<M, N>(celements, r, d); |
| | | return new ManagedObjectPath<>(celements, r, d); |
| | | } |
| | | |
| | | |
| | |
| | | ManagedObjectPath<M, N> child( |
| | | OptionalRelationDefinition<? super M, ? super N> r, |
| | | AbstractManagedObjectDefinition<M, N> d) { |
| | | LinkedList<Element<?, ?>> celements = new LinkedList<Element<?, ?>>( |
| | | elements); |
| | | LinkedList<Element<?, ?>> celements = new LinkedList<>(elements); |
| | | celements.add(new OptionalElement<M, N>(r, d)); |
| | | return new ManagedObjectPath<M, N>(celements, r, d); |
| | | return new ManagedObjectPath<>(celements, r, d); |
| | | } |
| | | |
| | | |
| | |
| | | ManagedObjectPath<M, N> child( |
| | | SingletonRelationDefinition<? super M, ? super N> r, |
| | | AbstractManagedObjectDefinition<M, N> d) { |
| | | LinkedList<Element<?, ?>> celements = new LinkedList<Element<?, ?>>( |
| | | elements); |
| | | LinkedList<Element<?, ?>> celements = new LinkedList<>(elements); |
| | | celements.add(new SingletonElement<M, N>(r, d)); |
| | | return new ManagedObjectPath<M, N>(celements, r, d); |
| | | return new ManagedObjectPath<>(celements, r, d); |
| | | } |
| | | |
| | | |
| | |
| | | SetRelationDefinition<? super M, ? super N> r, |
| | | AbstractManagedObjectDefinition<M, N> d) |
| | | throws IllegalArgumentException { |
| | | LinkedList<Element<?, ?>> celements = new LinkedList<Element<?, ?>>( |
| | | elements); |
| | | LinkedList<Element<?, ?>> celements = new LinkedList<>(elements); |
| | | celements.add(new SetElement<M, N>(r, d)); |
| | | return new ManagedObjectPath<M, N>(celements, r, d); |
| | | return new ManagedObjectPath<>(celements, r, d); |
| | | } |
| | | |
| | | |
| | |
| | | return emptyPath(); |
| | | } |
| | | |
| | | LinkedList<Element<?, ?>> celements = new LinkedList<Element<?, ?>>( |
| | | LinkedList<Element<?, ?>> celements = new LinkedList<>( |
| | | elements.subList(0, elements.size() - offset)); |
| | | return create(celements, celements.getLast()); |
| | | } |