@Override public Resource requireChild(final PathElement address) { final Resource resource = getChild(address); if(resource == null) { throw new NoSuchResourceException(address); } return resource; }
@Override public boolean hasChildren(final String childType) { final ResourceProvider provider = getProvider(childType); return provider != null && provider.hasChildren(); }
protected void cloneProviders(AbstractModelResource clone) { synchronized (children) { for (final Map.Entry<String, ResourceProvider> entry : children.entrySet()) { clone.registerResourceProvider(entry.getKey(), entry.getValue().clone()); } } }
@Override public void registerChild(final PathElement address, final Resource resource) { if(address.isMultiTarget()) { throw new IllegalArgumentException(); } getOrCreateProvider(address.getKey()).register(address.getValue(), resource); }
protected AbstractModelResource(boolean runtimeOnly, String...orderedChildTypes) { this(runtimeOnly, arrayToSet(orderedChildTypes), true); }
@Override public void registerChild(final PathElement address, final Resource resource) { if(address.isMultiTarget()) { throw new IllegalArgumentException(); } getOrCreateProvider(address.getKey()).register(address.getValue(), resource); }
protected AbstractModelResource(boolean runtimeOnly, String...orderedChildTypes) { this(runtimeOnly, arrayToSet(orderedChildTypes), true); }
@Override public boolean hasChildren(final String childType) { final ResourceProvider provider = getProvider(childType); return provider != null && provider.hasChildren(); }
@Override public void registerChild(final PathElement address, final Resource resource) { if(address.isMultiTarget()) { throw new IllegalArgumentException(); } getOrCreateProvider(address.getKey()).register(address.getValue(), resource); }
@Override public Resource requireChild(final PathElement address) { final Resource resource = getChild(address); if(resource == null) { throw new NoSuchResourceException(address); } return resource; }
protected void cloneProviders(AbstractModelResource clone) { synchronized (children) { for (final Map.Entry<String, ResourceProvider> entry : children.entrySet()) { clone.registerResourceProvider(entry.getKey(), entry.getValue().clone()); } } }
@Override public Set<String> getChildrenNames(final String childType) { final ResourceProvider provider = getProvider(childType); if(provider == null) { return Collections.emptySet(); } return provider.children(); }
@Override public void registerChild(final PathElement address, final Resource resource) { if(address.isMultiTarget()) { throw new IllegalArgumentException(); } getOrCreateProvider(address.getKey()).register(address.getValue(), resource); }
@Override public Resource requireChild(final PathElement address) { final Resource resource = getChild(address); if(resource == null) { throw new NoSuchResourceException(address); } return resource; }
protected PatchResource(ServiceController<InstallationManager> imController, boolean includeStream) { super.registerResourceProvider("layer", new LayerResourceProvider(imController)); super.registerResourceProvider("addon", new AddOnResourceProvider(imController)); if(includeStream) { super.registerResourceProvider("patch-stream", new PatchStreamResourceProvider(imController)); } model.protect(); }
@Override public Set<String> getChildrenNames(final String childType) { final ResourceProvider provider = getProvider(childType); if(provider == null) { return Collections.emptySet(); } return provider.children(); }
@Override public void registerChild(final PathElement address, final int index, final Resource resource) { if(address.isMultiTarget()) { throw new IllegalArgumentException(); } if (index >= 0 && !orderedChildTypes.contains(address.getKey())) { throw ControllerLogger.ROOT_LOGGER.indexedChildResourceRegistrationNotAvailable(address); } getOrCreateProvider(address.getKey()).register(address.getValue(), index, resource); }
@Override public Resource requireChild(final PathElement address) { final Resource resource = getChild(address); if(resource == null) { throw new NoSuchResourceException(address); } return resource; }
protected PatchResource(ServiceController<InstallationManager> imController, boolean includeStream) { super.registerResourceProvider("layer", new LayerResourceProvider(imController)); super.registerResourceProvider("addon", new AddOnResourceProvider(imController)); if(includeStream) { super.registerResourceProvider("patch-stream", new PatchStreamResourceProvider(imController)); } model.protect(); }
@Override public boolean hasChildren(final String childType) { final ResourceProvider provider = getProvider(childType); return provider != null && provider.hasChildren(); }