Class Device

java.lang.Object
org.aoju.bus.image.Device
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
FindSCU, HL7Pix, HL7Snd, IanSCP, MoveSCU

public class Device extends Object implements Serializable
设备信息
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Constructor Details

    • Device

      public Device()
    • Device

      public Device(String name)
  • Method Details

    • getDeviceName

      public final String getDeviceName()
      获取该设备的名称
      Returns:
      包含设备名的字符串
    • setDeviceName

      public final void setDeviceName(String name)
      设置此设备的名称
      Parameters:
      name - 包含设备名的字符串
    • getDescription

      public final String getDescription()
      获取该设备的描述
      Returns:
      包含设备描述的字符串
    • setDescription

      public final void setDescription(String description)
      设置该设备的描述
      Parameters:
      description - 包含设备描述的字符串
    • getDeviceUID

      public String getDeviceUID()
    • setDeviceUID

      public void setDeviceUID(String deviceUID)
    • getManufacturer

      public final String getManufacturer()
      获取这个设备的制造商
      Returns:
      包含设备制造商的字符串
    • setManufacturer

      public final void setManufacturer(String manufacturer)
      设置该设备的制造商 这应该与该设备创建的SOP实例中的制造商(0008,0070)的值相同
      Parameters:
      manufacturer - 包含设备制造商的字符串
    • getManufacturerModelName

      public final String getManufacturerModelName()
      获取该设备的制造商型号名称
      Returns:
      包含设备制造商模型名称的字符串
    • setManufacturerModelName

      public final void setManufacturerModelName(String manufacturerModelName)
      设置此设备的制造商型号名称 这应该与该设备创建的SOP实例中的制造商型号名称(0008,1090)的值相同
      Parameters:
      manufacturerModelName - 包含设备制造商模型名称的字符串
    • getSoftwareVersions

      public final String[] getSoftwareVersions()
      获取在该设备上运行(或由该设备实现)的软件版本
      Returns:
      包含软件版本的字符串数组
    • setSoftwareVersions

      public final void setSoftwareVersions(String... softwareVersions)
      设置在该设备上运行(或由该设备实现)的软件版本 这应该与该设备创建的SOP实例中的软件版本(0018、1020)的值相同
      Parameters:
      softwareVersions - 包含软件版本的字符串数组
    • getStationName

      public final String getStationName()
      获取属于此设备的工作站名称
      Returns:
      包含电台名称的字符串
    • setStationName

      public final void setStationName(String stationName)
      设置属于此设备的工作站名称 这应该与此设备创建的SOP实例中的站名(0008,1010)的值相同
      Parameters:
      stationName - 包含电台名称的字符串
    • getDeviceSerialNumber

      public final String getDeviceSerialNumber()
      获取属于该设备的序列号
      Returns:
      包含序列号的字符串
    • setDeviceSerialNumber

      public final void setDeviceSerialNumber(String deviceSerialNumber)
      设置此设备的序列号 这应该与该设备创建的SOP实例中的设备序列号(0018,1000)的值相同
      Parameters:
      deviceSerialNumber - 包含此设备的类型编解码器的字符串数组
    • getPrimaryDeviceTypes

      public final String[] getPrimaryDeviceTypes()
      获取与此设备关联的类型编解码器
      Returns:
      包含此设备的类型编解码器的字符串数组
    • setPrimaryDeviceTypes

      public void setPrimaryDeviceTypes(String... primaryDeviceTypes)
      设置与此设备关联的类型编解码器 表示一种设备,最适用于采集方式。如果适用,类型应该从PS3.16中上下文ID 30的内部值(0008,0100)列表中选择
      Parameters:
      primaryDeviceTypes - 主要设备类型
    • getInstitutionNames

      public final String[] getInstitutionNames()
      获取与此设备关联的机构名称;可能是它所驻留或代表的站点吗
      Returns:
      包含机构名称值的字符串数组
    • setInstitutionNames

      public void setInstitutionNames(String... names)
      设置与此设备关联的机构名称;可能是它所驻留或代表的站点吗 是否应该与该设备创建的SOP实例中的机构名称(0008,0080)相同
      Parameters:
      names - 包含机构名称值的字符串数组
    • getInstitutionCodes

      public final Code[] getInstitutionCodes()
    • setInstitutionCodes

      public void setInstitutionCodes(Code... codes)
    • getInstitutionAddresses

      public final String[] getInstitutionAddresses()
      设置操作该设备的机构的地址
      Returns:
      包含机构地址值的字符串数组
    • setInstitutionAddresses

      public void setInstitutionAddresses(String... addresses)
      获取操作该设备的机构的地址 是否与该设备创建的SOP实例中的机构地址(0008,0081)属性值相同
      Parameters:
      addresses - 包含机构地址值的字符串数组
    • getInstitutionalDepartmentNames

      public final String[] getInstitutionalDepartmentNames()
      获取与此设备关联的部门名称
      Returns:
      包含部门名称值的字符串数组
    • setInstitutionalDepartmentNames

      public void setInstitutionalDepartmentNames(String... names)
      设置与此设备关联的部门名称 是否应该与该设备创建的SOP实例中的机构部门名称(0008,1040)的值相同
      Parameters:
      names - 包含部门名称值的字符串数组
    • getIssuerOfPatientID

      public final Issuer getIssuerOfPatientID()
    • setIssuerOfPatientID

      public final void setIssuerOfPatientID(Issuer issuerOfPatientID)
    • getIssuerOfAccessionNumber

      public final Issuer getIssuerOfAccessionNumber()
    • setIssuerOfAccessionNumber

      public final void setIssuerOfAccessionNumber(Issuer issuerOfAccessionNumber)
    • getOrderPlacerIdentifier

      public final Issuer getOrderPlacerIdentifier()
    • setOrderPlacerIdentifier

      public final void setOrderPlacerIdentifier(Issuer orderPlacerIdentifier)
    • getOrderFillerIdentifier

      public final Issuer getOrderFillerIdentifier()
    • setOrderFillerIdentifier

      public final void setOrderFillerIdentifier(Issuer orderFillerIdentifier)
    • getIssuerOfAdmissionID

      public final Issuer getIssuerOfAdmissionID()
    • setIssuerOfAdmissionID

      public final void setIssuerOfAdmissionID(Issuer issuerOfAdmissionID)
    • getIssuerOfServiceEpisodeID

      public final Issuer getIssuerOfServiceEpisodeID()
    • setIssuerOfServiceEpisodeID

      public final void setIssuerOfServiceEpisodeID(Issuer issuerOfServiceEpisodeID)
    • getIssuerOfContainerIdentifier

      public final Issuer getIssuerOfContainerIdentifier()
    • setIssuerOfContainerIdentifier

      public final void setIssuerOfContainerIdentifier(Issuer issuerOfContainerIdentifier)
    • getIssuerOfSpecimenIdentifier

      public final Issuer getIssuerOfSpecimenIdentifier()
    • setIssuerOfSpecimenIdentifier

      public final void setIssuerOfSpecimenIdentifier(Issuer issuerOfSpecimenIdentifier)
    • getAuthorizedNodeCertificates

      public X509Certificate[] getAuthorizedNodeCertificates(String ref)
    • setAuthorizedNodeCertificates

      public void setAuthorizedNodeCertificates(String ref, X509Certificate... certs)
    • removeAuthorizedNodeCertificates

      public X509Certificate[] removeAuthorizedNodeCertificates(String ref)
    • removeAllAuthorizedNodeCertificates

      public void removeAllAuthorizedNodeCertificates()
    • getAllAuthorizedNodeCertificates

      public X509Certificate[] getAllAuthorizedNodeCertificates()
    • getAuthorizedNodeCertificateRefs

      public String[] getAuthorizedNodeCertificateRefs()
    • getTrustStoreURL

      public final String getTrustStoreURL()
    • setTrustStoreURL

      public final void setTrustStoreURL(String trustStoreURL)
    • getTrustStoreType

      public final String getTrustStoreType()
    • setTrustStoreType

      public final void setTrustStoreType(String trustStoreType)
    • getTrustStorePin

      public final String getTrustStorePin()
    • setTrustStorePin

      public final void setTrustStorePin(String trustStorePin)
    • getTrustStorePinProperty

      public final String getTrustStorePinProperty()
    • setTrustStorePinProperty

      public final void setTrustStorePinProperty(String trustStorePinProperty)
    • getThisNodeCertificates

      public X509Certificate[] getThisNodeCertificates(String ref)
    • setThisNodeCertificates

      public void setThisNodeCertificates(String ref, X509Certificate... certs)
    • removeThisNodeCertificates

      public X509Certificate[] removeThisNodeCertificates(String ref)
    • getKeyStoreURL

      public final String getKeyStoreURL()
    • setKeyStoreURL

      public final void setKeyStoreURL(String keyStoreURL)
    • getKeyStoreType

      public final String getKeyStoreType()
    • setKeyStoreType

      public final void setKeyStoreType(String keyStoreType)
    • getKeyStorePin

      public final String getKeyStorePin()
    • setKeyStorePin

      public final void setKeyStorePin(String keyStorePin)
    • getKeyStorePinProperty

      public final String getKeyStorePinProperty()
    • setKeyStorePinProperty

      public final void setKeyStorePinProperty(String keyStorePinProperty)
    • getKeyStoreKeyPin

      public final String getKeyStoreKeyPin()
    • setKeyStoreKeyPin

      public final void setKeyStoreKeyPin(String keyStorePin)
    • getKeyStoreKeyPinProperty

      public final String getKeyStoreKeyPinProperty()
    • setKeyStoreKeyPinProperty

      public final void setKeyStoreKeyPinProperty(String keyStoreKeyPinProperty)
    • removeAllThisNodeCertificates

      public void removeAllThisNodeCertificates()
    • getAllThisNodeCertificates

      public X509Certificate[] getAllThisNodeCertificates()
    • getThisNodeCertificateRefs

      public String[] getThisNodeCertificateRefs()
    • getRelatedDeviceRefs

      public final String[] getRelatedDeviceRefs()
    • setRelatedDeviceRefs

      public void setRelatedDeviceRefs(String... refs)
    • getVendorData

      public final byte[][] getVendorData()
      获取设备特定的供应商配置信息
      Returns:
      设备数据的一个对象
    • setVendorData

      public void setVendorData(byte[]... vendorData)
      设置设备特定的供应商配置信息
      Parameters:
      vendorData - 设备数据的一个对象
    • isInstalled

      public final boolean isInstalled()
      获取一个布尔值,指示此设备当前是否安装在网络上(这对于预配置、移动货车和类似情况非常有用)
      Returns:
      一个布尔值,如果安装了这个设备,它将为真
    • setInstalled

      public final void setInstalled(boolean installed)
      设置一个布尔值,指示此设备当前是否安装在网络上(这对于预配置、移动货车和类似情况非常有用)
      Parameters:
      installed - 一个布尔值,如果安装了这个设备,它将为真
    • isRoleSelectionNegotiationLenient

      public boolean isRoleSelectionNegotiationLenient()
    • setRoleSelectionNegotiationLenient

      public void setRoleSelectionNegotiationLenient(boolean roleSelectionNegotiationLenient)
    • getTimeZoneOfDevice

      public TimeZone getTimeZoneOfDevice()
    • setTimeZoneOfDevice

      public void setTimeZoneOfDevice(TimeZone timeZoneOfDevice)
    • getDimseRQHandler

      public final DimseRQHandler getDimseRQHandler()
    • setDimseRQHandler

      public final void setDimseRQHandler(DimseRQHandler dimseRQHandler)
    • getAssociationHandler

      public final AssociationHandler getAssociationHandler()
    • setAssociationHandler

      public void setAssociationHandler(AssociationHandler associationHandler)
    • getMonitoring

      public Monitoring getMonitoring()
    • setMonitoring

      public void setMonitoring(Monitoring monitoring)
    • getAssociationMonitor

      public AssociationMonitor getAssociationMonitor()
    • setAssociationMonitor

      public void setAssociationMonitor(AssociationMonitor associationMonitor)
    • bindConnections

      public void bindConnections() throws IOException, GeneralSecurityException
      Throws:
      IOException
      GeneralSecurityException
    • rebindConnections

      public void rebindConnections() throws IOException, GeneralSecurityException
      Throws:
      IOException
      GeneralSecurityException
    • unbindConnections

      public void unbindConnections()
    • getExecutor

      public final Executor getExecutor()
    • setExecutor

      public final void setExecutor(Executor executor)
    • getScheduledExecutor

      public final ScheduledExecutorService getScheduledExecutor()
    • setScheduledExecutor

      public final void setScheduledExecutor(ScheduledExecutorService executor)
    • addConnection

      public void addConnection(Connection conn)
    • removeConnection

      public boolean removeConnection(Connection conn)
    • listConnections

      public List<Connection> listConnections()
    • connectionWithEqualsRDN

      public Connection connectionWithEqualsRDN(Connection other)
    • addApplicationEntity

      public void addApplicationEntity(ApplicationEntity ae)
    • removeApplicationEntity

      public ApplicationEntity removeApplicationEntity(ApplicationEntity ae)
    • removeApplicationEntity

      public ApplicationEntity removeApplicationEntity(String aet)
    • getWebApplicationNames

      public Collection<String> getWebApplicationNames()
    • getWebApplications

      public Collection<WebApplication> getWebApplications()
    • getWebApplicationsWithServiceClass

      public Collection<WebApplication> getWebApplicationsWithServiceClass(WebApplication.ServiceClass serviceClass)
    • getWebApplication

      public WebApplication getWebApplication(String name)
    • addWebApplication

      public void addWebApplication(WebApplication webapp)
    • removeWebApplication

      public WebApplication removeWebApplication(WebApplication webapp)
    • removeWebApplication

      public WebApplication removeWebApplication(String name)
    • getKeycloakClientIDs

      public Collection<String> getKeycloakClientIDs()
    • getKeycloakClients

      public Collection<KeycloakClient> getKeycloakClients()
    • getKeycloakClient

      public KeycloakClient getKeycloakClient(String clientID)
    • addKeycloakClient

      public void addKeycloakClient(KeycloakClient client)
    • removeKeycloakClient

      public KeycloakClient removeKeycloakClient(KeycloakClient client)
    • removeKeycloakClient

      public KeycloakClient removeKeycloakClient(String name)
    • addDeviceExtension

      public void addDeviceExtension(DeviceExtension ext)
    • removeDeviceExtension

      public boolean removeDeviceExtension(DeviceExtension ext)
    • getLimitOpenAssociations

      public final int getLimitOpenAssociations()
    • setLimitOpenAssociations

      public final void setLimitOpenAssociations(int limit)
    • getLimitAssociationsInitiatedBy

      public int getLimitAssociationsInitiatedBy(String callingAET)
      返回指定的远程AE可以发起的最大开放关联数。如果超过了这个限制,那么来自AE的进一步关联请求将被拒绝 Result = 2 - rejected-transient, Source = 1 - DICOM UL service-user, Reason = 2 - local-limit-exceeded
      Parameters:
      callingAET - 远程AE的AE名称
      Returns:
      开放关联的最大数目或无限制为0
      Throws:
      NullPointerException - 如果callingAET为空
      See Also:
    • setLimitAssociationsInitiatedBy

      public void setLimitAssociationsInitiatedBy(String callingAET, int limit)
      返回指定的远程AE可以发起的最大开放关联数。如果超过了这个限制,那么来自AE的进一步关联请求将被拒绝 Result = 2 - rejected-transient, Source = 1 - DICOM UL service-user, Reason = 2 - local-limit-exceeded
      Parameters:
      callingAET - 远程AE的AE名称
      limit - 开放关联的最大数目或无限制为0
      Throws:
      NullPointerException - 如果callingAET为空
      IllegalArgumentException - 如果限制小于零
      See Also:
    • getLimitAssociationsInitiatedBy

      public String[] getLimitAssociationsInitiatedBy()
    • setLimitAssociationsInitiatedBy

      public void setLimitAssociationsInitiatedBy(String[] values)
    • addAssociation

      public void addAssociation(Association as)
    • removeAssociation

      public void removeAssociation(Association as)
    • listOpenAssociations

      public Association[] listOpenAssociations()
    • getNumberOfOpenAssociations

      public int getNumberOfOpenAssociations()
    • getNumberOfAssociationsInitiatedBy

      public int getNumberOfAssociationsInitiatedBy(String callingAET)
    • waitForNoOpenConnections

      public void waitForNoOpenConnections() throws InterruptedException
      Throws:
      InterruptedException
    • isLimitOfAssociationsExceeded

      public boolean isLimitOfAssociationsExceeded(AAssociateRQ rq)
    • getApplicationEntity

      public ApplicationEntity getApplicationEntity(String aet)
    • getApplicationEntity

      public ApplicationEntity getApplicationEntity(String aet, boolean matchOtherAETs)
    • getApplicationAETitles

      public Collection<String> getApplicationAETitles()
    • getApplicationEntities

      public Collection<ApplicationEntity> getApplicationEntities()
    • getKeyManager

      public final KeyManager getKeyManager()
    • setKeyManager

      public final void setKeyManager(KeyManager km)
    • getTrustManager

      public final TrustManager getTrustManager()
    • setTrustManager

      public final void setTrustManager(TrustManager tm)
    • sslContext

      public SSLContext sslContext() throws GeneralSecurityException, IOException
      Throws:
      GeneralSecurityException
      IOException
    • keyManagers

      public KeyManager[] keyManagers() throws GeneralSecurityException, IOException
      Throws:
      GeneralSecurityException
      IOException
    • trustManagers

      public TrustManager[] trustManagers() throws GeneralSecurityException, IOException
      Throws:
      GeneralSecurityException
      IOException
    • execute

      public void execute(Runnable command)
    • schedule

      public ScheduledFuture<?> schedule(Runnable command, long delay, TimeUnit unit)
    • scheduleAtFixedRate

      public ScheduledFuture<?> scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit)
    • scheduleWithFixedDelay

      public ScheduledFuture<?> scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • promptTo

      public StringBuilder promptTo(StringBuilder sb, String indent)
    • reconfigure

      public void reconfigure(Device from)
    • setDeviceAttributes

      protected void setDeviceAttributes(Device from)
    • reconfigureConnections

      public void reconfigureConnections(List<Connection> conns, List<Connection> src)
    • listDeviceExtensions

      public Collection<DeviceExtension> listDeviceExtensions()
    • getDeviceExtension

      public <T extends DeviceExtension> T getDeviceExtension(Class<T> clazz)
    • getDeviceExtensionNotNull

      public <T extends DeviceExtension> T getDeviceExtensionNotNull(Class<T> clazz)
    • getArcDevExt

      public Boolean getArcDevExt()
    • setArcDevExt

      public void setArcDevExt(Boolean arcDevExt)